/* ============================================================
   CMS PAGES — standalone stylesheet (immune to CSS cleaners)
   Loaded via functions.php after the main theme style.css
   ============================================================ */

/* Layout containers */
.page-content{border:0;max-width:var(--maxw);margin:0 auto;padding:5rem 2.4rem}
.page-content > * + *{margin-top:5rem}
.page-block{border:0;max-width:880px;margin:0 auto;padding:4rem 0}
.page-content p{font-size:.95rem;line-height:1.8;color:var(--muted);margin-bottom:1rem}
.page-content p:last-child{margin-bottom:0}
.page-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.page-grid-2 p{font-size:.95rem;line-height:1.8;color:var(--muted);margin-bottom:1rem}
.page-img-wrap img{width:100%;border-radius:0;background:var(--ivory-2);display:block}

/* Values grid */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.value-card{padding:2rem}
.value-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--espresso);margin-bottom:.6rem}
.value-card p{color:var(--muted);font-size:.92rem;line-height:1.7}
.value-num{font-family:var(--serif);font-size:2.4rem;color:var(--gold);display:block;margin-bottom:.6rem;letter-spacing:-.02em;line-height:1}

/* Awards */
.awards-list{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.award-item{display:flex;gap:1.6rem;padding:1.2rem 1.6rem;background:var(--ivory-2);align-items:baseline}
.award-item strong{font-family:var(--serif);font-size:1.2rem;color:var(--gold);white-space:nowrap;min-width:3.2rem}
.award-item span{color:var(--muted);font-size:.9rem}

/* Big quote */
.big-quote{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--espresso);text-align:center;max-width:700px;margin:0 auto;font-style:italic;line-height:1.5;padding:1rem 0}

/* CTA block — unified bottom call-to-action (no border) */
.cta-block{background:var(--ivory);max-width:640px;margin:4rem auto 0;padding:3rem 2.8rem;text-align:center}
.cta-block h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--espresso);letter-spacing:-.01em;line-height:1.25;margin-bottom:1.4rem}
.cta-block p{color:var(--muted);font-size:.95rem;max-width:420px;margin:0 auto 1.4rem;line-height:1.7}
.cta-block .btn{display:inline-block}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact-info .info-block{padding:0;margin-bottom:1.6rem}
.contact-info .info-block h4{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso);margin-bottom:.3rem;font-weight:600}
.contact-info .info-block p{color:var(--muted);font-size:.92rem;line-height:1.7}
.social-links{display:flex;gap:.8rem;margin-top:.8rem}
.social-links a{display:inline-block;padding:.4rem .8rem;border:1px solid var(--line);color:var(--muted);font-size:.82rem;text-decoration:none;transition:color .3s,border-color .3s}
.social-links a:hover{color:var(--gold);border-color:var(--gold)}
.contact-form-wrap{padding:0}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{display:flex;flex-direction:column;gap:.3rem}
.form-field label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--espresso);font-weight:500}
.form-field input,.form-field textarea{background:var(--ivory-2);border:1px solid var(--line);padding:.8rem 1rem;font-family:var(--sans);font-size:.92rem;color:var(--espresso);outline:none;transition:border-color .3s}
.form-field input:focus,.form-field textarea:focus{border-color:var(--gold)}
.form-msg{display:none;padding:.8rem;text-align:center;font-size:.9rem;color:var(--espresso);border:1px solid var(--line)}

/* FAQ — luxury editorial accordion cards */
.faq-section{padding:3.2rem 0;max-width:880px;margin-left:auto;margin-right:auto;border-bottom:1px solid var(--line)}
.faq-section:last-of-type{border-bottom:none}
.faq-cat{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1.6rem;display:flex;align-items:center;gap:.9rem}
.faq-cat::after{content:'';flex:1;height:1px;background:var(--line)}
.faq-q{font-family:var(--serif);font-size:1.45rem;color:var(--espresso);font-weight:500;margin-bottom:1rem;background:var(--ivory-2);border:1px solid var(--line);border-radius:3px;transition:border-color .3s,background .3s,box-shadow .3s}
.faq-q:hover{border-color:rgba(176,137,79,.55)}
.faq-q[open]{border-color:var(--gold);background:#fff;box-shadow:0 6px 24px rgba(27,22,17,.06)}
.faq-q summary{list-style:none;cursor:pointer;position:relative;padding:1.3rem 3.4rem 1.3rem 1.8rem;display:flex;align-items:center;gap:1.2rem}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::before,.faq-q summary::after{content:'';position:absolute;right:1.9rem;top:50%;background:var(--gold);transition:opacity .3s,transform .3s}
.faq-q summary::before{width:1.6px;height:15px;transform:translateY(-50%)}
.faq-q summary::after{width:15px;height:1.6px;transform:translateY(-50%)}
.faq-q[open] > summary::before{opacity:0;transform:translateY(-50%) rotate(90deg)}
.faq-section p{color:var(--muted);font-size:1.08rem;line-height:1.85;margin:0;padding:.1rem 3.4rem 1.6rem 1.8rem;max-width:760px}
.faq-q[open] summary ~ p{animation:faqFade .35s ease both}
@keyframes faqFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* Journal */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.journal-card{background:var(--ivory-2);transition:box-shadow .3s}
.journal-card:hover{box-shadow:0 4px 20px rgba(27,22,17,.08)}
.journal-card__img{aspect-ratio:4/5;overflow:hidden}
.journal-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.journal-card:hover .journal-card__img img{transform:scale(1.05)}
.journal-card__body{padding:1.2rem 1.4rem 1.6rem}
.journal-card__body h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--espresso);margin-bottom:.3rem}
.journal-card__body p{color:var(--muted);font-size:.85rem;line-height:1.6}
.journal-featured{display:grid;grid-template-columns:1.2fr 1fr;gap:2.4rem;align-items:center;background:var(--ivory-2);margin-bottom:2rem}
.journal-featured__img{overflow:hidden}
.journal-featured__img img{width:100%;height:100%;object-fit:cover;display:block}
.journal-featured__text{padding:1.4rem 2rem}
.journal-featured__text h2{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--espresso);margin-bottom:.5rem}
.journal-featured__text p{color:var(--muted);font-size:.92rem;line-height:1.7}
.newsletter__form{display:flex;gap:.6rem;max-width:400px;margin:1.2rem auto 0}

/* Sustainability stats */
.sus-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
.sus-stat{text-align:center;padding:1.6rem}
.sus-stat strong{font-family:var(--serif);font-size:2.4rem;color:var(--gold);display:block;letter-spacing:-.02em}
.sus-stat span{color:var(--muted);font-size:.85rem;display:block;margin-top:.3rem}

/* Stockists */
.stockist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.stockist-card{padding:1.6rem;border:1px solid var(--line);transition:border-color .3s}
.stockist-card:hover{border-color:var(--gold)}
.stockist-card h3{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--espresso);margin-bottom:.4rem}
.stockist-card p{color:var(--muted);font-size:.85rem;line-height:1.6}
.stockist-card a{color:var(--gold);text-decoration:none;font-size:.85rem}

/* Policies (Shipping / Returns) */
.policy-list{padding:0;list-style:none}
.policy-list li{padding:1rem 1.4rem;margin-bottom:.6rem;background:var(--ivory-2);color:var(--muted);font-size:.92rem;line-height:1.7}
.policy-item{margin-bottom:1.2rem}
.policy-item h3{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--espresso);margin-bottom:.3rem}
.policy-item p{color:var(--muted);font-size:.92rem;line-height:1.7}
.policy-table{width:100%;border-collapse:collapse;margin:1rem 0}
.policy-table th,.policy-table td{padding:.8rem 1rem;text-align:left;border:1px solid var(--line);font-size:.85rem}
.policy-table th{background:var(--ivory-2);color:var(--espresso);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.policy-table td{color:var(--muted)}
.return-highlight{background:var(--ivory-2);padding:1.4rem 2rem;color:var(--espresso);font-size:.92rem;line-height:1.7;margin:1rem 0;border-left:3px solid var(--gold)}

/* Responsive CMS pages */
@media(max-width:768px){
  .page-grid-2,.values-grid,.contact-grid,.journal-grid,.stockist-grid,.awards-list{grid-template-columns:1fr}
  .journal-featured{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .sus-stats{grid-template-columns:1fr}
  .page-content > * + *{margin-top:3rem}
  .page-block{padding:2rem 0}
  .page-content{padding:3rem 2rem}
  .faq-section{padding:2.2rem 0}
  .faq-cat{margin-bottom:1.1rem}
  .faq-q{font-size:1.22rem;margin-bottom:.8rem}
  .faq-q summary{padding:1.05rem 2.9rem 1.05rem 1.3rem}
  .faq-q summary::before,.faq-q summary::after{right:1.4rem}
  .faq-section p{font-size:1rem;padding:.1rem 1.3rem 1.3rem}
}


/* ============================================================
   CHECKOUT PAGE (WooCommerce Blocks) — Luxury Redesign
   Warm ivory · espresso ink · champagne gold · editorial serif
   ------------------------------------------------------------
   CRITICAL: <body> carries the .woocommerce-checkout class, so the
   bare ".woocommerce-checkout" selector would shrink the WHOLE page
   (incl. the header). All layout lives on the real Blocks container
   (.wp-block-woocommerce-checkout). Never scope width to body.
   ============================================================ */

/* Page background only — must NOT constrain width */
body.woocommerce-checkout{background:var(--ivory)}

/* Let the blocks container own the width (defuse any wrapper limits) */
body.woocommerce-checkout .page-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce{margin:0 !important;padding:0 !important;max-width:none !important}

/* Full-bleed header on checkout */
body.woocommerce-checkout .site-header,
body.woocommerce-checkout .utility,
body.woocommerce-checkout .header__bar{width:100%;max-width:none !important}

/* ---- Container: override .alignwide, center with comfy width ---- */
.wp-block-woocommerce-checkout.alignwide.wc-block-checkout{
  max-width:1440px !important;
  margin:0 auto !important;
  padding:3.5rem 4rem 6rem !important;
  background:transparent;
}

/* ---- Two columns ---- */
.wp-block-woocommerce-checkout-fields-block{
  width:62% !important;
  padding-right:4% !important;
  box-sizing:border-box;
}
.wp-block-woocommerce-checkout-totals-block{
  width:38% !important;
  padding-left:3% !important;
  box-sizing:border-box;
  position:sticky;
  top:100px;
}

/* ---- Section steps ---- */
.wc-block-components-checkout-step{
  background:none !important;
  border:none !important;
  margin:0 0 2.8rem !important;
  padding:0 !important;
}
.wc-block-components-checkout-step__title{
  font-family:var(--serif) !important;
  font-size:1.6rem !important;
  font-weight:400 !important;
  color:var(--espresso) !important;
  margin:0 0 1.4rem !important;
  letter-spacing:-.01em;
  display:block !important;
}
.wc-block-components-checkout-step__title:before{content:none !important} /* hide default step number */
.wc-block-checkout__billing-fields > .wc-block-components-checkout-step__title,
.wc-block-checkout__shipping-fields > .wc-block-components-checkout-step__title{
  font-size:1.25rem !important;
  margin-top:2rem !important;
}

/* ---- Form fields (WC floating-label; keep mechanics, brand colors) ---- */
.wc-block-components-text-input,
.wc-block-components-select-input{margin-bottom:1.1rem !important}
.wc-block-components-text-input input,
.wc-block-components-select-input select,
.wc-block-components-text-input textarea{
  background:var(--ivory-2) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  color:var(--espresso) !important;
  font-family:var(--sans) !important;
  font-size:.94rem !important;
  height:54px !important;
  box-shadow:none !important;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease) !important;
}
.wc-block-components-text-input textarea{height:auto !important;min-height:96px}
.wc-block-components-text-input input:focus,
.wc-block-components-select-input select:focus,
.wc-block-components-text-input textarea:focus{
  outline:0 !important;
  border-color:var(--gold) !important;
  box-shadow:0 0 0 1px var(--gold) !important;
  background:var(--ivory-2) !important;
}
/* Floating label — brand the look, keep native position */
.wc-block-components-text-input label{
  color:var(--muted) !important;
  font-family:var(--sans) !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  font-size:.72rem !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label{color:var(--gold) !important}
.wc-block-components-text-input.has-error input{border-color:#cc4b4b !important}
.wc-block-components-text-input.has-error label{color:#cc4b4b !important}
/* Select chevron */
.wc-block-components-select-input select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B0894F' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 1rem center !important;
  padding-right:2.6rem !important;
  cursor:pointer;
}
/* Checkbox / radio accents */
.wc-block-components-checkbox input[type=checkbox]{accent-color:var(--gold) !important}

/* ---- Order summary sidebar (totals block) as a card ---- */
.wp-block-woocommerce-checkout-totals-block{
  background:var(--ivory-2);
  border:1px solid var(--line);
  border-radius:3px;
  padding:2.2rem 2rem !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button,
.wc-block-components-order-summary__button-text{
  font-family:var(--serif) !important;
  font-size:1.35rem !important;
  font-weight:400 !important;
  color:var(--espresso) !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--serif) !important;
  color:var(--espresso) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--espresso) !important;
  font-weight:600;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:1.1rem;
}
/* product thumbnail in summary */
.wc-block-components-order-summary-item__image img,
.wc-block-components-product-metadata__thumbnail img{
  border-radius:3px !important;
  border:1px solid var(--line) !important;
}

/* ---- Place order button ---- */
.wc-block-components-checkout-place-order-button{
  background:var(--espresso) !important;
  color:var(--ivory) !important;
  border:0 !important;
  border-radius:3px !important;
  font-family:var(--sans) !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  padding:1.1rem 2rem !important;
  width:100% !important;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(27,22,17,.18) !important;
  transition:background .4s var(--ease),box-shadow .4s var(--ease) !important;
}
.wc-block-components-checkout-place-order-button:hover{
  background:var(--gold) !important;
  box-shadow:0 8px 28px rgba(176,137,79,.3) !important;
}

/* ---- Payment methods (radio cards) ---- */
.wc-block-checkout__payment-method{
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  background:var(--ivory) !important;
  margin-bottom:.7rem !important;
  padding:0 !important;
  transition:border-color .3s var(--ease),background .3s var(--ease) !important;
}
.wc-block-checkout__payment-method.is-selected{
  border-color:var(--gold) !important;
  background:linear-gradient(135deg,var(--ivory),rgba(176,137,79,.05)) !important;
}
.wc-block-components-radio-control__input:checked{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}
.wc-block-components-payment-method-label,
.wc-block-checkout__payment-method .wc-block-components-radio-control__label{
  font-family:var(--sans) !important;
  font-weight:500 !important;
  color:var(--espresso) !important;
}

/* ---- Express payment (Apple Pay / Google Pay etc.) ---- */
.wc-block-checkout__express-payment .wc-block-components-button{
  background:var(--espresso) !important;
  color:var(--ivory) !important;
  border-radius:3px !important;
}

/* ---- Links / notices ---- */
.wc-block-checkout__login-prompt a,
.wc-block-checkout__return-to-cart-button{
  color:var(--gold) !important;
  text-decoration:underline !important;
  font-size:.85rem;
}
.wc-block-components-notice-banner{
  border-radius:3px !important;
}
.wc-block-components-notice-banner.is-error{
  border-left:4px solid var(--rose) !important;
  background:linear-gradient(135deg,#fff9f8,var(--ivory-2)) !important;
  color:var(--ink) !important;
}
.wc-block-components-notice-banner.is-success{
  border-left:4px solid #6b9e78 !important;
  background:linear-gradient(135deg,#f4faf6,var(--ivory-2)) !important;
}

/* ---- Responsive ---- */
@media(max-width:900px){
  .wp-block-woocommerce-checkout.alignwide.wc-block-checkout{
    flex-direction:column !important;
    padding:2.5rem 3rem 5rem !important;
  }
  .wp-block-woocommerce-checkout-fields-block,
  .wp-block-woocommerce-checkout-totals-block{width:100% !important;padding:0 !important}
  .wp-block-woocommerce-checkout-totals-block{position:static !important;margin-top:2.5rem !important}
}
@media(max-width:640px){
  .wp-block-woocommerce-checkout.alignwide.wc-block-checkout{padding:1.5rem 2rem 4.5rem !important}
  .wc-block-components-checkout-step__title{font-size:1.4rem !important}
  .wc-block-components-checkout-place-order-button{padding:.95rem 1.5rem !important;font-size:.78rem !important}
  .wp-block-woocommerce-checkout-totals-block{padding:1.6rem 1.4rem !important}
}
