/*
Theme Name: Roaster Storefront (Cafentity)
Theme URI: https://cafentity.com
Description: Cafentity child theme - roaster storefront framework (2nd clone; origin: Aruma Reserve build). Elementor Pro display layer + WooCommerce + ACF lot schema + WPML.
Author: Linkit Digital
Template: hello-elementor
Version: 2.0.0
Text Domain: roaster-storefront-cafentity
*/

/* ============================================================
   Cafentity roaster framework CSS v1 (adapted from Aruma v3).
   Same structural selectors as the imported Aruma templates
   (ar-*) restyled with Cafentity tokens, plus cf-* components
   emitted by functions.php. Tokens: espresso #123B33 / #0E2E27,
   gold #E9B44C / #EFC97A, cream #FAF6EE / #F3EBDC / #E8DCC5,
   leaf #4F6B50, roast #4E6A5F. Fraunces display / Inter body.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400..700&family=Inter:wght@400;500;600;700&display=swap");

/* ---- Product card (Loop Item template) ---- */
.ar-scard{display:flex;flex-direction:column;min-width:0;height:100%}
.ar-scard .ar-bag{aspect-ratio:3/4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;margin-bottom:16px}
.ar-scard .ar-bag img{width:auto;max-width:100%;max-height:100%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(14,46,39,.20))}
.ar-stop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ar-stop .ar-title,.ar-stop .ar-title .elementor-heading-title,.ar-stop .ar-title h1,.ar-stop .ar-title h2,.ar-stop .ar-title h3,.ar-stop .ar-title a{font-family:"Fraunces",Georgia,serif!important;font-weight:600!important;font-size:1.15rem!important;line-height:1.2!important;color:#123B33!important;text-align:left!important;text-decoration:none;margin:0}
.ar-stop .ar-price{flex-shrink:0;white-space:nowrap}
.ar-stop .ar-price,.ar-stop .ar-price p,.ar-stop .ar-price .woocommerce-Price-amount,.ar-stop .ar-price bdi{font-family:"Inter",sans-serif!important;font-weight:700!important;font-size:1rem!important;color:#123B33!important;margin:0}
.ar-scard .ar-stop,.ar-scard .e-con-inner,.ar-scard>div{padding-left:0;padding-right:0}

/* Card meta lines - both prefixes (imported templates use ar-*, Cafentity functions.php emits cf-*) */
.ar-sorigin,.cf-sorigin{font-family:"Inter",sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#E9B44C;margin:6px 0 0}
.ar-sweight,.cf-sweight{font-family:"Inter",sans-serif;font-weight:400;font-size:.74rem;color:#24443C;margin:3px 0 0}

/* Traceability chips ([roaster_trace_chips]) */
.cf-trace{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}
.cf-trace__chip{font:600 11px/1.5 "Inter",sans-serif;letter-spacing:.04em;background:#F3EBDC;border-radius:4px;padding:3px 8px;color:#24443C}

/* Add to cart - Cafentity gold pill (replaces Aruma outlined square) */
.ar-addcart .quantity{display:none!important}
.ar-addcart,.ar-addcart form,.ar-addcart .cart{display:block;width:100%}
.ar-addcart .button,.ar-addcart .add_to_cart_button{display:flex!important;align-items:center;justify-content:center;width:100%!important;font-family:"Inter",sans-serif!important;font-weight:600!important;font-size:.85rem!important;letter-spacing:0!important;text-transform:none!important;padding:12px 22px!important;margin-top:15px;border:none!important;border-radius:999px!important;background:#E9B44C!important;color:#0E2E27!important;transition:background .25s,transform .18s}
.ar-addcart .button:hover,.ar-addcart .add_to_cart_button:hover{background:#EFC97A!important;color:#0E2E27!important;transform:translateY(-2px)}
.ar-scard .ar-addcart{margin-top:auto}
.ar-subsave,.ar-subsave a{font-family:"Inter",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#4E6A5F;text-align:center;margin-top:11px;text-decoration:none;transition:color .3s}
.ar-subsave a:hover{color:#E9B44C}

/* Lot meta table ([roaster_lot_meta], single product) */
.lot-meta{display:grid;gap:8px;margin:18px 0}
.lot-meta__row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #E8DCC5;padding-bottom:6px}
.lot-meta__label{font:600 11px/1.6 "Inter",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#C9503F}
.lot-meta__value{font:500 14px/1.5 "Inter",sans-serif;color:#221A12;text-align:right}

/* Header cart badge (#cf-cart-count fragments) */
.cf-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:#E9B44C;color:#0E2E27;border-radius:999px;font:700 11px/1 "Inter",sans-serif;padding:0 5px}

/* Fixed/transparent header wrappers (body classes from functions.php).
   Gotcha from the Aruma build: the Elementor header WRAPPER reserves
   flow space - it must be fixed on hero pages or the hero starts ~94px down. */
body.cf-has-hero header.elementor-location-header{position:fixed;top:0;left:0;right:0;z-index:999;background:transparent}
body.cf-fixed-nav header.elementor-location-header{position:fixed;top:0;left:0;right:0;z-index:999}

/* ---- Page framework (.cfp) for service/content pages ---- */
.cfp{font-family:Inter,system-ui,sans-serif;color:#221A12;line-height:1.6}
.cfp *{box-sizing:border-box;margin:0;padding:0}
.cfp .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.cfp h1,.cfp h2,.cfp h3{font-family:Fraunces,Georgia,serif;line-height:1.12;font-weight:600;color:#123B33}
.cfp .eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E9B44C;display:block;margin-bottom:16px}
.cfp .btn{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.95rem;padding:.85em 1.7em;border-radius:999px;text-decoration:none;transition:transform .18s,background .2s}
.cfp .btn:hover{transform:translateY(-2px)}
.cfp .btn-g{background:#E9B44C;color:#0E2E27}.cfp .btn-g:hover{background:#EFC97A}
.cfp .btn-o{border:2px solid #FAF6EE;color:#FAF6EE}
.cfp .btn-d{background:#123B33;color:#FAF6EE}
.cfp .l-es{display:none}body.cf-es .cfp .l-en{display:none}body.cf-es .cfp .l-es{display:inline}
.cfp-hero{background:radial-gradient(1100px 560px at 78% -10%,#1E4D42 0%,#0E2E27 62%);color:#FAF6EE;padding:72px 0}
.cfp-hero h1{color:#FAF6EE;font-size:clamp(2.2rem,4.8vw,3.4rem);max-width:20ch}
.cfp-hero .lede{font-size:1.15rem;color:#E8DCC5;margin-top:22px;max-width:56ch}
.cfp-sec{padding:72px 0}.cfp-alt{background:#F3EBDC}
.cfp h2.t{font-size:clamp(1.7rem,3.5vw,2.4rem)}
.cfp-answer{background:#fff;border-left:5px solid #E9B44C;border-radius:0 20px 20px 0;box-shadow:0 2px 8px rgba(14,46,39,.06),0 12px 32px rgba(14,46,39,.08);padding:32px;max-width:760px}
.cfp-answer h2{font-size:1.3rem;margin-bottom:14px}
.cfp-answer p{color:#24443C}
.cfp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:32px}
.cfp-box{border:1.5px solid #E8DCC5;border-radius:20px;padding:24px;background:#fff}
.cfp-box b{font-family:Fraunces,Georgia,serif;font-size:1.15rem;color:#123B33;display:block;margin-bottom:8px}
.cfp-box p{font-size:.9rem;color:#24443C}
.cfp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;margin-top:32px;counter-reset:cfstep}
.cfp-step{background:#fff;border-radius:20px;box-shadow:0 2px 8px rgba(14,46,39,.06),0 12px 32px rgba(14,46,39,.08);padding:24px;counter-increment:cfstep}
.cfp-step::before{content:counter(cfstep,decimal-leading-zero);font-family:Fraunces,Georgia,serif;font-size:1.5rem;color:#E9B44C;display:block;margin-bottom:8px}
.cfp-step h3{font-size:1.05rem}
.cfp-step p{font-size:.88rem;color:#24443C;margin-top:6px}
.cfp details{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(14,46,39,.06),0 12px 32px rgba(14,46,39,.08);margin-top:14px;padding:24px}
.cfp summary{font-weight:600;cursor:pointer;font-size:1.02rem;color:#123B33}
.cfp details p{margin-top:14px;color:#24443C}
.cfp-cta{background:#0E2E27;color:#FAF6EE;padding:64px 0}
.cfp-cta h2{color:#FAF6EE;font-size:clamp(1.7rem,3.5vw,2.4rem)}
.cfp-cta p{color:#E8DCC5;margin-top:12px;max-width:52ch}


/* ---- Shop card framework (Loop Item: Cafentity Product Card) — v1.4.1 targets e-loop-item (container _css_classes do not render in v4 loops) ---- */
.e-loop-item{display:flex;flex-direction:column;min-width:0;height:100%}
.e-loop-item .cf-bag{aspect-ratio:3/4;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;margin-bottom:16px}
.e-loop-item .cf-bag img{width:auto;max-width:100%;max-height:100%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(14,46,39,.20))}
.e-loop-item .cf-title,.e-loop-item .cf-title .elementor-heading-title,.e-loop-item .cf-title h1,.e-loop-item .cf-title h2,.e-loop-item .cf-title h3,.e-loop-item .cf-title a{font-family:'Fraunces',Georgia,serif!important;font-weight:600!important;font-size:1.15rem!important;line-height:1.2!important;color:#123B33!important;text-align:left!important;text-decoration:none;margin:0}
.e-loop-item .cf-price{flex-shrink:0;white-space:nowrap}
.e-loop-item .cf-price,.e-loop-item .cf-price p,.e-loop-item .cf-price .woocommerce-Price-amount,.e-loop-item .cf-price bdi{font-family:'Fraunces',Georgia,serif!important;font-weight:500!important;font-size:1.1rem!important;color:#C9503F!important;margin:0}
.e-loop-item .e-con,.e-loop-item .e-con-inner{padding-left:0;padding-right:0}
.cf-addcart .quantity{display:none!important}
.cf-addcart,.cf-addcart form,.cf-addcart .cart{display:block;width:100%}
.cf-addcart .button,.cf-addcart .add_to_cart_button{display:flex!important;align-items:center;justify-content:center;width:100%!important;font-family:'Inter',system-ui,sans-serif!important;font-weight:600!important;font-size:.63rem!important;letter-spacing:.2em!important;text-transform:uppercase!important;padding:12px 18px!important;margin-top:15px;border:1.5px solid #123B33!important;border-radius:999px!important;background:none!important;color:#123B33!important;transition:background .35s,color .35s}
.cf-addcart .button:hover,.cf-addcart .add_to_cart_button:hover{background:#123B33!important;color:#FAF6EE!important}
.e-loop-item .cf-addcart{margin-top:auto}
.cf-subsave,.cf-subsave a{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#4E6A5F;text-align:center;margin-top:11px;text-decoration:none;transition:color .3s}
.cf-subsave a:hover{color:#E9B44C}

/* ---- Single product hero (template 2881) ---- */
.elementor-2881 .cf-pimg img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 24px 32px rgba(14,46,39,.22))}
.elementor-2881 .cf-ptitle .product_title,.elementor-2881 .cf-ptitle h1,.elementor-2881 .cf-ptitle .elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-weight:600!important;font-size:clamp(1.7rem,3.2vw,2.4rem)!important;line-height:1.15!important;color:#123B33!important;margin:0 0 8px}
.elementor-2881 .cf-pprice .price,.elementor-2881 .cf-pprice .woocommerce-Price-amount,.elementor-2881 .cf-pprice bdi{font-family:'Fraunces',Georgia,serif!important;font-weight:500!important;font-size:1.4rem!important;color:#C9503F!important}
.elementor-2881 .cf-pdesc p{font-family:'Inter',system-ui,sans-serif;font-size:.98rem;line-height:1.7;color:#24443C;margin:14px 0 6px}
.elementor-2881 .cf-paddcart form.cart{display:flex;gap:12px;align-items:stretch;margin-top:18px}
.elementor-2881 .cf-paddcart .quantity .qty{height:100%;min-height:46px;width:70px;text-align:center;font:inherit;border:1.5px solid #E8DCC5;border-radius:999px;background:#FAF6EE}
.elementor-2881 .cf-paddcart .single_add_to_cart_button{flex:1;display:inline-flex!important;align-items:center;justify-content:center;font-family:'Inter',system-ui,sans-serif!important;font-weight:600!important;font-size:.72rem!important;letter-spacing:.18em!important;text-transform:uppercase!important;padding:14px 26px!important;border:none!important;border-radius:999px!important;background:#E9B44C!important;color:#123B33!important;transition:background .3s,transform .18s}
.elementor-2881 .cf-paddcart .single_add_to_cart_button:hover{background:#EFC97A!important;transform:translateY(-1px)}
.elementor-2881 .cf-trace{margin:10px 0 4px}
.elementor-2881 .lot-meta{margin-top:22px}
/* global lang toggle */
body:not(.cf-es) .l-es{display:none!important}
body.cf-es .l-en{display:none!important}


/* ---- WPRM re-brand (recipe buttons/accents: red -> Cafentity tokens) v1.4.3 ---- */
.wprm-recipe-container .wprm-recipe-link,
.wprm-recipe-container a.wprm-recipe-jump,
.wprm-recipe-container a.wprm-recipe-jump-video,
.wprm-recipe-container a.wprm-recipe-print,
.wprm-recipe-container a.wprm-recipe-email-share,
.wprm-recipe-container a.wprm-recipe-facebook-share,
a.wprm-recipe-link{background-color:#E9B44C!important;border-color:#E9B44C!important;color:#123B33!important;border-radius:999px!important;font-weight:600}
a.wprm-recipe-link:hover{background-color:#EFC97A!important;border-color:#EFC97A!important;color:#123B33!important}
.wprm-recipe-container a.wprm-recipe-servings-link,
.wprm-recipe-container .wprm-recipe-servings-link,
.wprm-recipe-container a:not(.wprm-recipe-link){color:#4E6A5F}
.wprm-recipe-container a:not(.wprm-recipe-link):hover{color:#E9B44C}
.wprm-recipe-container .wprm-rating-star svg polygon,.wprm-recipe-container .wprm-rating-star svg path{fill:#E9B44C!important;stroke:#E9B44C!important}
.wprm-recipe-container .wprm-timer-container a{color:#4E6A5F}
.wprm-recipe-container input[type=checkbox]{accent-color:#E9B44C}
.wprm-recipe-container .wprm-toggle,.wprm-recipe-container button.wprm-recipe-adjustable-servings{background-color:#FAF6EE!important;border-color:#E9B44C!important;color:#4E6A5F!important}
.wprm-recipe-container .wprm-toggle.wprm-toggle-active,.wprm-recipe-container .wprm-toggle[aria-pressed=true]{background-color:#E9B44C!important;color:#123B33!important}
.wprm-recipe-container .wprm-recipe-adjustable-servings-container{color:#4E6A5F!important}
.wprm-call-to-action,.wprm-call-to-action.wprm-call-to-action-simple{background-color:#123B33!important;color:#FAF6EE!important;border-radius:12px}
.wprm-call-to-action a,.wprm-call-to-action .wprm-call-to-action-text-container{color:#EFC97A!important}

/* chrome paint-skip guard for product imagery (v1.4.5) */
ul.products img,.e-loop-item img,.woocommerce img{transform:translateZ(0)}


/* PALETTE B — Tropical Canvas (Felix, Sep 2026). Base: #0E2E27/#123B33 greens · cream unchanged · sun gold #E9B44C accents · hibiscus #C9503F actions. */
.btn-g,a.btn-g,.cfcta a.cfcta-btn{background:#C9503F!important;color:#FFF6EC!important}
.btn-g:hover,a.btn-g:hover,.cfcta a.cfcta-btn:hover{background:#B04434!important}
