/*
 * Hanuura Gift Cards
 * Fiche produit carte cadeau uniquement.
 *
 * Ce fichier ne doit être chargé que pour le produit Gift Card Hanuura.
 */

/* ------------------------------------------
		   Page carte cadeau uniquement
		------------------------------------------ */

		.hanuura-gift-card {
			margin: 24px 0;
			font-family: inherit;
		}

		.hgc-intro {
			margin-bottom: 28px;
		}

		.hgc-eyebrow {
			display: inline-block;
			margin-bottom: 8px;
			font-size: 11px;
			font-weight: 700;
			letter-spacing: .14em;
			text-transform: uppercase;
			opacity: .65;
		}

		.hgc-intro h2 {
			margin: 0 0 8px;
			font-size: clamp(23px, 3vw, 32px);
			line-height: 1.15;
		}

		.hgc-intro p {
			margin: 0;
			line-height: 1.6;
			opacity: .72;
		}

		.hgc-section {
			margin: 0 0 26px;
		}

		.hgc-section-title {
			display: flex;
			align-items: center;
			gap: 12px;
			margin-bottom: 14px;
		}

		.hgc-section-title > div {
			display: flex;
			flex-direction: column;
		}

		.hgc-section-title strong {
			font-size: 15px;
		}

		.hgc-section-title small {
			margin-top: 2px;
			opacity: .62;
		}

		.hgc-step {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 30px;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background: #111;
			color: #fff;
			font-size: 12px;
			font-weight: 700;
		}

		.hgc-amounts {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 9px;
		}

		.hgc-amounts button {
			min-height: 48px;
			padding: 9px 8px;
			border: 1px solid #ddd;
			border-radius: 10px;
			background: #fff;
			color: #222;
			font: inherit;
			font-weight: 700;
			cursor: pointer;
			transition:
				border-color .15s ease,
				box-shadow .15s ease,
				transform .15s ease;
		}

		.hgc-amounts button span {
			display: block;
			margin-top: 1px;
			font-size: 9px;
			font-weight: 600;
			opacity: .55;
		}

		.hgc-amounts button:hover {
			transform: translateY(-1px);
			border-color: #999;
		}

		.hgc-amounts button.is-active {
			border-color: #111;
			box-shadow: inset 0 0 0 1px #111;
		}

		.hgc-modes {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 10px;
		}

		.hgc-mode {
			position: relative;
			margin: 0;
			cursor: pointer;
		}

		.hgc-mode input {
			position: absolute;
			opacity: 0;
			pointer-events: none;
		}

		.hgc-mode-content {
			display: flex;
			align-items: center;
			gap: 11px;
			min-height: 70px;
			padding: 13px;
			border: 1px solid #ddd;
			border-radius: 11px;
			background: #fff;
			transition: .15s ease;
		}

		.hgc-mode input:checked + .hgc-mode-content {
			border-color: #111;
			box-shadow: inset 0 0 0 1px #111;
		}

		.hgc-mode-icon {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 34px;
			width: 34px;
			height: 34px;
			border-radius: 50%;
			background: #f4f2ed;
			font-size: 17px;
		}

		.hgc-mode-content > span:last-child {
			display: flex;
			flex-direction: column;
		}

		.hgc-mode-content small {
			margin-top: 2px;
			line-height: 1.35;
			opacity: .62;
		}

		.hgc-fields {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 14px;
		}

		.hgc-field {
			margin: 0;
		}

		.hgc-message-field {
			grid-column: 1 / -1;
		}

		.hgc-field label {
			display: block;
			margin-bottom: 6px;
			font-size: 12px;
			font-weight: 650;
		}

		.hgc-label-row {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.hgc-label-row small {
			opacity: .55;
		}

		.hgc-field input,
		.hgc-field textarea {
			box-sizing: border-box;
			width: 100%;
			margin: 0;
			border: 1px solid #ddd;
			border-radius: 9px;
			background: #fff;
			box-shadow: none;
			font: inherit;
		}

		.hgc-field input {
			height: 46px;
			padding: 0 12px;
		}

		.hgc-field textarea {
			min-height: 105px;
			padding: 11px 12px;
			resize: vertical;
		}

		.hgc-field input:focus,
		.hgc-field textarea:focus {
			outline: none;
			border-color: #777;
			box-shadow: 0 0 0 2px rgba(0,0,0,.04);
		}

		.hgc-counter {
			margin-top: 4px;
			text-align: right;
			font-size: 10px;
			opacity: .55;
		}

		.hgc-preview {
			margin: 30px 0;
		}

		.hgc-preview-label {
			margin-bottom: 9px;
			font-size: 11px;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: .08em;
			opacity: .6;
		}

		.hgc-card {
			position: relative;
			overflow: hidden;
			aspect-ratio: 1.7 / 1;
			max-width: 440px;
			padding: 28px;
			border-radius: 20px;
			background:
				radial-gradient(
					circle at 90% 10%,
					rgba(255,255,255,.28),
					transparent 30%
				),
				linear-gradient(
					135deg,
					#f6efe6,
					#e8d2b7
				);
			box-shadow: 0 14px 38px rgba(0,0,0,.10);
			color: #3b2b20;
		}

		.hgc-card::after {
			content: "";
			position: absolute;
			right: -55px;
			bottom: -70px;
			width: 190px;
			height: 190px;
			border: 1px solid rgba(255,255,255,.48);
			border-radius: 50%;
		}

		.hgc-card-brand {
			font-size: 20px;
			font-weight: 700;
			letter-spacing: .06em;
		}

		.hgc-card-subtitle {
			margin-top: 2px;
			font-size: 9px;
			font-weight: 600;
			letter-spacing: .18em;
			opacity: .65;
		}

		.hgc-card-amount {
			margin-top: 38px;
			font-size: clamp(28px, 5vw, 40px);
			font-weight: 700;
			line-height: 1;
		}

		.hgc-card-amount small {
			font-size: 12px;
			letter-spacing: .06em;
		}

		.hgc-card-person {
			position: absolute;
			left: 28px;
			right: 28px;
			bottom: 24px;
			display: flex;
			flex-direction: column;
			gap: 2px;
			z-index: 2;
		}

		.hgc-card-person span {
			font-weight: 650;
		}

		.hgc-card-person small {
			opacity: .68;
		}

		.hgc-reassurance {
			display: grid;
			gap: 8px;
			margin: 24px 0 8px;
		}

		.hgc-reassurance > div {
			display: flex;
			flex-direction: column;
			padding: 11px 13px;
			border-radius: 9px;
			background: #f7f7f7;
		}

		.hgc-reassurance strong {
			font-size: 11px;
		}

		.hgc-reassurance span {
			margin-top: 2px;
			font-size: 10px;
			opacity: .64;
		}

		/*
		 * On cache le sélecteur WooCommerce natif.
		 * Il reste dans le DOM et continue de piloter les variations.
		 */
		body.single-product
		form.variations_form
		table.variations {
			display: none !important;
		}

		/*
		 * Pas de quantité pour une carte personnalisée.
		 */
		body.single-product
		form.cart
		.quantity {
			display: none !important;
		}

		/*
		 * Informations génériques du thème qui ne correspondent
		 * pas à un produit numérique.
		 */
		body.single-product
		.product_meta {
			display: none !important;
		}

		@media (max-width: 767px) {

			.hgc-amounts {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.hgc-modes,
			.hgc-fields {
				grid-template-columns: 1fr;
			}

			.hgc-message-field {
				grid-column: auto;
			}

			.hgc-card {
				padding: 22px;
				border-radius: 16px;
			}

			.hgc-card-person {
				left: 22px;
				right: 22px;
				bottom: 20px;
			}
		}

/* Carte cadeau : pas de comparaison ni de liste de souhaits (page produit uniquement). */
.woosc-btn-13928,
.woosw-btn-13928 {
	display: none !important;
}

/* Un seul prix : celui du haut (mis à jour par script quand le montant change) ; celui du formulaire est masqué. */
body.postid-13928 .woocommerce-variation-price {
	display: none;
}


/* ==========================================================================
   Page carte cadeau : retrait des blocs génériques du thème qui seraient faux
   pour une carte (livraison 1-3 semaines, acompte 20 %, logos carte bancaire,
   compteurs "vente rapide" / "personnes consultent ce site").
   ========================================================================== */
body.postid-13928 .check-incart-sold,
body.postid-13928 .tmcore-live-viewing-visitors,
body.postid-13928 .single-product-extras,
body.postid-13928 .summary fieldset:has([class*="single-product-payments"]) {
	display: none !important;
}

/* Réassurance : trois colonnes lisibles sur ordinateur, une colonne sur mobile. */
body.postid-13928 .hgc-reassurance {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0 12px;
}

body.postid-13928 .hgc-reassurance > div {
	padding: 14px 16px;
	border: 1px solid #ececec;
	border-radius: 12px;
	background: #fff;
}

body.postid-13928 .hgc-reassurance strong {
	font-size: 13px;
	line-height: 1.35;
}

body.postid-13928 .hgc-reassurance span {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.45;
	opacity: .72;
}

@media (max-width: 767px) {
	body.postid-13928 .hgc-reassurance {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}
