/*
Theme Name:  Phalik
Theme URI:   https://phalik.com
Description: Thème enfant Blocksy — direction « L'Atelier ». Tokens de marque, typographie, surcharges WooCommerce.
Author:      Studio CAD
Template:    blocksy
Version:     1.0.0
Text Domain: phalik
*/

/* =========================================================
   1. TOKENS DE MARQUE
   Source : phalik logo +++.ai (bordeaux #4E1328, rouge #D31129)
   Contrastes vérifiés WCAG AA sur le fond crème.
   ========================================================= */
:root{
  --ph-bordeaux:#4E1328;
  --ph-red:#D31129;
  --ph-red-text:#B80F24;        /* 5,5:1 sur crème — liens et petits textes */
  --ph-bg:#EDE8E0;
  --ph-surface:#F6F3EE;
  --ph-sunken:#E3DCD1;
  --ph-sand:#EDE0CC;
  --ph-text:#4E1328;            /* 11,9:1 */
  --ph-text-2:#6E4A58;          /* 6,2:1 */
  --ph-text-3:#7A5563;          /* 5,2:1 */
  --ph-on-inverse:#EDE8E0;
  --ph-on-inverse-2:#D9BFC7;
  --ph-hairline:#D8CBC9;
  --ph-border:#8E7480;          /* ≥ 3:1 — contours porteurs d'information */
  --ph-focus:#2F5480;
  --ph-success:#1F3B2E;
  --ph-error:#B80F24;
  --ph-badge-unique:#E7C8C2;
  --ph-display:"Instrument Serif",Georgia,"Times New Roman",serif;
  --ph-sans:"Outfit","Helvetica Neue",Arial,sans-serif;
}

/* =========================================================
   2. PONT VERS LES VARIABLES BLOCKSY
   Blocksy expose sa palette et ses réglages en variables CSS.
   On les aligne ici pour que tout composant du thème hérite
   des tokens, même là où le Customizer ne descend pas.
   ========================================================= */
:root{
  --theme-palette-color-1:var(--ph-red);
  --theme-palette-color-2:var(--ph-red-text);
  --theme-palette-color-3:var(--ph-text);
  --theme-palette-color-4:var(--ph-text-2);
  --theme-palette-color-5:var(--ph-bg);
  --theme-palette-color-6:var(--ph-surface);
  --theme-palette-color-7:var(--ph-sunken);
  --theme-palette-color-8:var(--ph-border);
  --theme-text-color:var(--ph-text);
  --theme-headings-color:var(--ph-text);
  --theme-link-initial-color:var(--ph-red-text);
  --theme-link-hover-color:var(--ph-text);
  --theme-border-color:var(--ph-hairline);
  --theme-button-background-initial-color:var(--ph-bordeaux);
  --theme-button-background-hover-color:var(--ph-red);
  --theme-button-text-initial-color:var(--ph-surface);
  --theme-button-text-hover-color:#fff;
}

/* =========================================================
   3. BASE
   ========================================================= */
body{background:var(--ph-bg);color:var(--ph-text);font-family:var(--ph-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3.ph-display{font-family:var(--ph-display);font-weight:400;letter-spacing:-.01em;line-height:1;text-wrap:balance}
h1{font-size:clamp(36px,4.4vw,64px)}
h2{font-size:clamp(28px,3vw,40px)}
/* Le serif display ne descend jamais sous 28 px : au-delà de H2, sans-serif. */
h3,h4,h5,h6{font-family:var(--ph-sans);font-weight:500;letter-spacing:.02em}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ph-focus);outline-offset:2px}
.ph-eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ph-text-2)}

/* Boutons Blocksy / WooCommerce */
.ct-button,.button,button.single_add_to_cart_button,.wc-block-components-button,
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  font-family:var(--ph-sans);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  border-radius:2px;min-height:48px;padding:0 22px;
}

/* =========================================================
   4. EN-TÊTE
   ========================================================= */
[data-header*="type-1"] .ct-header [data-row*="middle"]{--height:56px}
.ct-header .menu > li > a{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ct-header .ct-header-search .ct-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ct-header-cart .ct-dynamic-count{background:var(--ph-red);color:#fff}
.ct-header-top-bar{background:var(--ph-sunken);font-size:12px;letter-spacing:.06em;color:var(--ph-text-2)}

/* =========================================================
   5. GRILLE PRODUITS (listing, nouveautés)
   ========================================================= */
.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product img{aspect-ratio:4/5;object-fit:cover;background:var(--ph-surface)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price{font-family:var(--ph-sans);font-size:13px;font-weight:400;color:var(--ph-text)}
.woocommerce ul.products li.product .price{font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .star-rating{display:none}
.woocommerce span.onsale,.ct-woo-badge{background:var(--ph-red);color:#fff;border-radius:2px;font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;min-height:0;line-height:1}

/* =========================================================
   6. FICHE PRODUIT
   ========================================================= */
.single-product .product_title{font-family:var(--ph-display);font-size:clamp(28px,3vw,40px)}
.single-product .summary .price{font-size:22px;font-weight:400;font-variant-numeric:tabular-nums}
.single-product .summary .price::after{content:" TTC";font-size:12px;color:var(--ph-text-3)}
.single-product .variations label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ph-text-2)}
/* Swatches Blocksy Pro : cible 44 px, sélection par bordure + coche (jamais la couleur seule) */
.ct-swatch-container .ct-swatch{min-width:44px;min-height:44px;border-color:var(--ph-border)}
.ct-swatch-container .ct-swatch.active,.ct-swatch-container .ct-swatch[aria-checked="true"]{border:2px solid var(--ph-text)}
.ct-swatch-container .ct-swatch.ct-disabled{text-decoration:line-through;border-style:dashed}
.woocommerce div.product form.cart .single_add_to_cart_button{width:100%}
.ph-ship{font-size:13px;color:var(--ph-text-2);text-align:center;margin-top:12px}
/* Onglets en accordéon */
.woocommerce div.product .woocommerce-tabs ul.tabs{display:none}
.woocommerce div.product .woocommerce-tabs .panel{display:block!important;border-top:1px solid var(--ph-hairline);padding:14px 0}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--ph-sans);font-size:14px;font-weight:500;letter-spacing:.04em;margin:0 0 8px}

/* Champs : étiquettes persistantes, contours ≥ 3:1, taille ≥ 16 px (pas de zoom iOS) */
.woocommerce form .form-row label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ph-text-2)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.ct-header-search input[type="search"]{border:1px solid var(--ph-border);border-radius:2px;background:var(--ph-surface);font-size:16px;min-height:48px}

/* =========================================================
   7. PANIER, TUNNEL
   ========================================================= */
.woocommerce-cart .cart-collaterals .cart_totals{background:var(--ph-sunken);padding:24px}
.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td,
.woocommerce-checkout .shop_table td,.woocommerce-checkout .shop_table th{font-variant-numeric:tabular-nums;font-size:14px}
.woocommerce-checkout .ct-header .menu,.woocommerce-checkout .ct-header-search{display:none} /* tunnel sans issue */
.woocommerce-checkout #place_order{width:100%}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{font-size:14px}
.ph-legal{font-size:12px;color:var(--ph-text-3);line-height:1.6;margin-top:12px}

/* Pièces uniques (catégorie antik) */
.product_cat-antik .quantity{display:none}
.ph-badge-unique{display:inline-block;background:var(--ph-badge-unique);color:var(--ph-text);font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:2px}
.ph-badge-sold{display:inline-block;background:var(--ph-sunken);color:var(--ph-text-2);font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:2px}
.product_cat-antik.outofstock .ct-media-container img{filter:grayscale(1) brightness(1.04)}

/* =========================================================
   8. MUR D'ÂGE (rendu par inc/age-gate.php)
   ========================================================= */
.ph-gate{position:fixed;inset:0;z-index:99999;background:var(--ph-bordeaux);color:var(--ph-on-inverse);display:grid;place-items:center;padding:24px}
.ph-gate .ph-gate-box{max-width:460px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.ph-gate svg{width:180px;height:auto;color:var(--ph-red)}
.ph-gate h1{font-family:var(--ph-display);font-size:clamp(40px,5.4vw,72px);color:var(--ph-on-inverse);margin:0}
.ph-gate p{margin:0;font-size:16px;font-weight:300;color:var(--ph-on-inverse-2);max-width:40ch}
.ph-gate form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px}
.ph-gate button{font-family:var(--ph-sans);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;min-height:48px;border-radius:2px;cursor:pointer;border:1px solid var(--ph-on-inverse);background:transparent;color:var(--ph-on-inverse)}
.ph-gate button.ph-yes{background:var(--ph-red);border-color:var(--ph-red);color:#fff}
.ph-gate button.ph-yes:hover{background:var(--ph-on-inverse);border-color:var(--ph-on-inverse);color:var(--ph-bordeaux)}
.ph-gate button:hover{background:var(--ph-on-inverse);color:var(--ph-bordeaux)}
.ph-gate small{font-size:12px;color:var(--ph-on-inverse-2);opacity:.8}
body.ph-gated{overflow:hidden;height:100dvh}
