/* DareIn Carte cadeau : carte (aperçu), formulaire de la fiche, Mon compte. Couleurs et polices du thème Dare in Paris. */

/* ---- La carte : même composition que l'image des e-mails (1200 × 750, plaque 700 × 452, filets à 14 et 34 px) ---- */
.dipcc-card {
	--dipcc-zoom: 220%;
	position: relative; display: block; width: 100%; aspect-ratio: 1.6 / 1; overflow: hidden; container-type: inline-size;
	background-color: #fdfcfa; color: #1a1716; font-family: var(--dip-sans, futura-pt, Futura, sans-serif);
	box-shadow: 0 28px 56px -28px rgba(26, 23, 22, 0.5), 0 2px 8px rgba(26, 23, 22, 0.08);
}
/* Navigateurs plus anciens (Safari 15 sur iPhone) : hauteur tenue par le contenu même si aspect-ratio est ignoré dans
   une grille, et unité « cqw » remplacée par --dipcc-u (1 % de la largeur de la carte, posé par le script). */
.dipcc-card::after { content: ''; display: block; padding-top: 62.5%; }
.dipcc-card--pattern { background-color: #e4e2de; background-image: var(--dipcc-img); background-size: var(--dipcc-zoom) auto; background-position: center; background-repeat: no-repeat; }
.dipcc-card.is-swap { animation: dipcc-in 0.35s ease both; }
@keyframes dipcc-in { from { opacity: 0.55; } to { opacity: 1; } }
.dipcc-card__plaque {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 58.34%; height: 60.27%;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(var(--dipcc-u, 1cqw) * 2.1); text-align: center; background: #fdfcfa;
}
.dipcc-card__plaque::before { content: ""; position: absolute; inset: calc(var(--dipcc-u, 1cqw) * 1.17); border: 1px solid rgba(168, 133, 78, 0.85); pointer-events: none; }
.dipcc-card--classic .dipcc-card__plaque { width: 100%; height: 100%; background: transparent; }
.dipcc-card--classic .dipcc-card__plaque::before { inset: calc(var(--dipcc-u, 1cqw) * 2.84); }
.dipcc-card .dipcc-card__logo { display: block; width: auto; max-width: calc(var(--dipcc-u, 1cqw) * 25); height: calc(var(--dipcc-u, 1cqw) * 6.2); object-fit: contain; margin: 0 0 calc(var(--dipcc-u, 1cqw) * 0.6); }
.dipcc-card .dip-logo-text.dipcc-card__logo, .dipcc-card .dipcc-card__logo--text { height: auto; max-width: none; font-family: var(--dip-serif, serif); font-size: calc(var(--dipcc-u, 1cqw) * 4.4); line-height: 1; letter-spacing: -0.01em; white-space: nowrap; }
.dipcc-card__diamond { display: block; width: calc(var(--dipcc-u, 1cqw) * 1); height: calc(var(--dipcc-u, 1cqw) * 1); background: #a8854e; transform: rotate(45deg); }
.dipcc-card__kicker { font-size: calc(var(--dipcc-u, 1cqw) * 1.6); letter-spacing: 0.38em; text-transform: uppercase; color: #4d4540; padding-left: 0.38em; }
.dipcc-card__amount { font-size: calc(var(--dipcc-u, 1cqw) * 5.2); line-height: 1; letter-spacing: 0.01em; }
.dipcc-card__for { font-size: calc(var(--dipcc-u, 1cqw) * 1.5); letter-spacing: 0.04em; color: #6b625c; }
.dipcc-card__amount:empty, .dipcc-card__for:empty { display: none; }

/* ---- Aperçu à la place des photos de la fiche ---- */
.dipcc-hide { display: none !important; }
.dip-pdp__gal .dipcc-fig { grid-column: 1 / -1; margin: 0; }
.dipcc-fig__box { display: flex; align-items: center; justify-content: center; padding: 11% 12%; background: #f1efeb; }
.dipcc-fig--m { display: none; margin: 0; }
@media (max-width: 759.98px) {
	.dipcc-fig--m { display: block; }
	.dipcc-fig--m .dipcc-fig__box { padding: 14% 9%; }
}

/* ---- Formulaire ---- */
.dipcc { display: flex; flex-direction: column; gap: 18px; font-family: var(--dip-sans, futura-pt, Futura, sans-serif); color: #1a1716; }
.dipcc__title { margin: 0; font-size: 24px; }
.dipcc__form { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.dipcc__stage { margin: 0 0 4px; }
.dipcc__group { display: flex; flex-direction: column; gap: 12px; }
.dipcc__head { display: flex; align-items: baseline; gap: 12px; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #6b625c; }
.dipcc__name { font-family: var(--dip-serif, serif); font-style: italic; font-size: 15px; letter-spacing: 0; text-transform: none; color: #1a1716; }
.dipcc__designs { display: flex; flex-wrap: wrap; gap: 12px; }
.dipcc .dipcc__design { display: block; width: 44px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 0; background: #dfdfdf; overflow: hidden; cursor: pointer; outline: 1px solid transparent; outline-offset: 3px; transition: outline-color 0.2s; }
.dipcc .dipcc__design img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.5); }
.dipcc .dipcc__design.is-classic { background: #fdfcfa; box-shadow: inset 0 0 0 1px rgba(26, 23, 22, 0.14), inset 0 0 0 5px #fdfcfa, inset 0 0 0 6px rgba(168, 133, 78, 0.85); }
.dipcc .dipcc__design.is-on { outline-color: #1a1716; }
@media (hover: hover) { .dipcc .dipcc__design:not(.is-on):hover { outline-color: rgba(26, 23, 22, 0.4); } }
.dipcc__amounts { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
.dipcc .dipcc__amount { height: 48px; margin: 0; padding: 0 8px; border: 1px solid rgba(26, 23, 22, 0.2); border-radius: 0; background: transparent; color: #1a1716; font: inherit; font-size: 14px; letter-spacing: 0.02em; cursor: pointer; transition: border-color 0.2s, background-color 0.2s, color 0.2s; }
.dipcc .dipcc__amount:hover { border-color: #1a1716; }
.dipcc .dipcc__amount.active { background: #1a1716; border-color: #1a1716; color: #fdfcfa; }
.dipcc__custom { position: relative; }
.dipcc__custom[hidden] { display: none; }
.dipcc__custom span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; color: #6b625c; pointer-events: none; }
.dipcc__fields { display: flex; flex-direction: column; gap: 8px; }
.dipcc input[type="text"], .dipcc input[type="email"], .dipcc input[type="number"], .dipcc input[type="date"], .dipcc textarea {
	display: block; width: 100%; box-sizing: border-box; height: 48px; margin: 0; padding: 0 14px; border: 1px solid rgba(26, 23, 22, 0.2); border-radius: 0;
	background: #ffffff; color: #1a1716; font: inherit; font-size: 14px; box-shadow: none; transition: border-color 0.2s;
}
.dipcc textarea { height: auto; min-height: 88px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.dipcc input:focus, .dipcc textarea:focus { border-color: #1a1716; outline: none; }
.dipcc input::placeholder, .dipcc textarea::placeholder { color: #8a817b; }
.dipcc__label { margin: 8px 0 0; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #6b625c; }
.dipcc__help { margin: 0; font-size: 12px; line-height: 1.5; color: #6b625c; }
.dipcc .dipcc__submit { height: 56px; margin: 0; border: 0; border-radius: 0; background: #1a1716; color: #fdfcfa; font: inherit; font-size: 11.5px; letter-spacing: 0.24em; text-transform: uppercase; cursor: pointer; transition: background-color 0.2s; }
.dipcc .dipcc__submit:hover:not(:disabled) { background: #5c1524; }
.dipcc .dipcc__submit:disabled { background: #e4e2de; color: #8a817b; cursor: default; }
.dipcc__error { margin: -12px 0 0; min-height: 0; font-size: 12.5px; color: #9b2c2c; }
.dipcc__error:empty { display: none; }
.dipcc__infos { margin: -8px 0 0; font-size: 12.5px; line-height: 1.55; color: #4d4540; }
.dipcc__balance { font-size: 12.5px; border-top: 1px solid rgba(26, 23, 22, 0.1); padding-top: 14px; }
.dipcc__balance summary { cursor: pointer; display: inline-flex; gap: 8px; align-items: center; list-style: none; color: #1a1716; }
.dipcc__balance summary::-webkit-details-marker { display: none; }
.dipcc__balance summary::after { content: "+"; color: #6b625c; }
.dipcc__balance[open] summary::after { content: "−"; }
.dipcc__balanceform { display: flex; gap: 8px; margin-top: 12px; }
.dipcc .dipcc__balanceform input { flex: 1; min-width: 0; height: 44px; text-transform: uppercase; letter-spacing: 0.08em; }
.dipcc .dipcc__balanceform button { height: 44px; padding: 0 18px; border: 0; border-radius: 0; background: #1a1716; color: #fdfcfa; font: inherit; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; }
.dipcc__balanceresult { margin: 10px 0 0; color: #3d3531; }
.dipcc__balanceresult:empty { display: none; }

/* ---- Mon compte : vignette de la carte ---- */
.dipcc-mini { width: 96px; }
.dipcc-mini .dipcc-card { box-shadow: 0 6px 14px -8px rgba(26, 23, 22, 0.5); }
.dip-carte-account td:first-child { white-space: nowrap; }
.dip-carte-account .dipcc-mini { margin: 0 0 8px; }
.dip-carte-account table.shop_table + p, .dip-carte-account > p:last-child { margin-top: 24px; }

/* Mon compte sur téléphone : une carte par bloc (libellé à gauche, valeur à droite) au lieu d'un tableau trop large. */
@media (max-width: 639.98px) {
	.dip-carte-account table.shop_table, .dip-carte-account table.shop_table tbody, .dip-carte-account table.shop_table tr { display: block; width: 100%; }
	.dip-carte-account table.shop_table thead { display: none; }
	.dip-carte-account table.shop_table tr { box-sizing: border-box; padding: 16px; border-bottom: 1px solid rgba(26, 23, 22, 0.1); }
	.dip-carte-account table.shop_table tr:last-child { border-bottom: 0; }
	body.woocommerce-account .woocommerce-MyAccount-content .dip-carte-account table.shop_table td { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 5px 0; border: 0; text-align: right; }
	.dip-carte-account table.shop_table td::before { content: attr(data-title); flex: 0 0 auto; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #6b625c; text-align: left; }
	body.woocommerce-account .woocommerce-MyAccount-content .dip-carte-account table.shop_table td:first-child { display: block; padding: 0 0 8px; text-align: left; font-size: 15px; letter-spacing: 0.04em; }
	.dip-carte-account table.shop_table td:first-child::before { content: none; }
	.dip-carte-account .dipcc-mini { width: 168px; margin-bottom: 10px; }
}
