/* COMELAB PHARM V2 — inner pages, commerce & B2B */
.cn-shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.cn-section{padding:80px 0}
.cn-section--soft{background:var(--v2-ivory)!important}
.cn-eyebrow{display:inline-flex!important;align-items:center;gap:10px;color:var(--v2-gold-dark)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.15em!important;text-transform:uppercase}
.cn-eyebrow::before{content:"";width:26px;height:1px;background:currentColor}
.cn-display{font-family:"Cormorant Garamond",serif!important;color:var(--v2-navy)!important;font-weight:550!important;letter-spacing:-.025em!important}
.cn-display em{color:var(--v2-gold-dark)!important}
.cn-lede{color:var(--v2-muted)!important;line-height:1.75!important}
.cn-text-link{color:var(--v2-gold-dark)!important;text-decoration:none!important;font-weight:700!important}

/* Unified V2 inner hero */
.v2-pagehero{position:relative;overflow:hidden;padding:64px 0 48px;background:
 radial-gradient(circle at 88% 5%,rgba(200,146,53,.11),transparent 25%),
 linear-gradient(135deg,#fffdf9,#f7efe2);border-bottom:1px solid var(--v2-line)}
.v2-pagehero::after{content:"";position:absolute;right:-90px;bottom:-150px;width:300px;height:300px;border:1px solid rgba(200,146,53,.17);border-radius:50%}
.v2-pagehero__inner{position:relative;z-index:1;max-width:850px}
.v2-pagehero h1{margin:12px 0 0;font-family:"Cormorant Garamond",serif;color:var(--v2-navy);font-size:clamp(46px,5vw,66px);font-weight:550;line-height:.98;letter-spacing:-.03em}
.v2-pagehero h1 em{color:var(--v2-gold-dark);font-style:italic}
.v2-pagehero p{max-width:720px;margin:16px 0 0;color:var(--v2-muted);font-size:14px;line-height:1.75}
.v2-pagehero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.v2-pagehero__chips span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #dfd1bb;border-radius:999px;background:rgba(255,255,255,.75);color:#546274;font-size:10px;font-weight:650}

/* Legacy inner hero fallback for shortcode pages */
.cn-subhero{padding:58px 0 44px!important;background:radial-gradient(circle at 88% 5%,rgba(200,146,53,.10),transparent 25%),linear-gradient(135deg,#fffdf9,#f7efe2)!important;border-bottom:1px solid var(--v2-line)!important}
.cn-subhero__inner{max-width:850px!important}
.cn-subhero h1{margin:12px 0 0!important;font-family:"Cormorant Garamond",serif!important;color:var(--v2-navy)!important;font-size:clamp(46px,5vw,64px)!important;font-weight:550!important;line-height:.98!important;letter-spacing:-.03em!important}
.cn-subhero h1 em{color:var(--v2-gold-dark)!important}
.cn-subhero .cn-lede{max-width:720px!important;font-size:14px!important}

/* Catalog */
.cn-catalog-pro-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:17px 18px;border:1px solid var(--v2-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:0 8px 24px rgba(13,42,69,.04)}
.cn-catalog-pro-banner div{display:grid;gap:3px}
.cn-catalog-pro-banner strong{color:var(--v2-navy);font-size:12px;font-weight:700}
.cn-catalog-pro-banner span{color:#788390;font-size:10px}
.cn-catalog-pro-banner a{color:var(--v2-gold-dark);font-size:11px;font-weight:700;text-decoration:none}
.cn-catalog-pro-banner--approved{background:#fbf4e8!important;border-color:#ddc393!important}
.cn-catalog-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}
.cn-catalog-filters a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--v2-line)!important;border-radius:999px!important;background:#fff;color:#596676!important;text-decoration:none;font-size:10px!important;font-weight:650!important}
.cn-catalog-filters a:hover,.cn-catalog-filters a.is-active{background:var(--v2-navy)!important;border-color:var(--v2-navy)!important;color:#fff!important}
.cn-catalog-search{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:760px;margin-bottom:28px}
.cn-catalog-search input[type="search"]{min-height:48px;padding:0 15px;border:1px solid #ded2c1!important;border-radius:10px!important;background:#fff;font-family:"DM Sans",sans-serif;font-size:14px}
.cn-catalog-search input[type="search"]:focus{outline:none;border-color:#d1aa64!important;box-shadow:0 0 0 3px rgba(200,146,53,.12)}
.cn-catalog-search .cn-btn{min-height:48px;border-radius:10px!important}
.cn-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cn-product-card{overflow:hidden;border:1px solid var(--v2-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important;transition:.2s ease}
.cn-product-card:hover{transform:translateY(-3px)!important;border-color:#d7bb88!important;box-shadow:0 18px 38px rgba(13,42,69,.07)!important}
.cn-product-card__image{display:block;aspect-ratio:1/1;padding:16px!important;background:linear-gradient(145deg,#fff,#faf6ef)!important}
.cn-product-card__image img{width:100%;height:100%;object-fit:contain}
.cn-product-card__body{padding:15px 15px 17px!important}
.cn-product-card__kicker{color:var(--v2-gold-dark)!important;font-size:8px!important;font-weight:800!important;letter-spacing:.12em!important}
.cn-product-card h2{min-height:40px;margin:7px 0 11px!important;font-family:"DM Sans",sans-serif!important;color:var(--v2-navy)!important;font-size:14px!important;font-weight:650!important;line-height:1.32!important}
.cn-product-card h2 a{color:inherit;text-decoration:none}
.cn-product-card__pro-price{min-height:22px;margin-bottom:10px;color:var(--v2-gold-dark)!important;font-size:12px!important;font-weight:750!important}
.cn-product-card__pro-price span{color:#7e8791!important;font-size:10px!important;font-weight:600!important}
.cn-product-card .cn-text-link{font-size:10px!important}

/* Generic buttons still used by B2B / Woo */
.cn-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:0 20px!important;border-radius:10px!important;border:1px solid var(--v2-gold-dark)!important;background:var(--v2-gold-dark)!important;color:#fff!important;text-decoration:none!important;font-family:"DM Sans",sans-serif!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important}
.cn-btn:hover{background:var(--v2-navy)!important;border-color:var(--v2-navy)!important}
.cn-btn--ghost{background:#fff!important;color:var(--v2-navy)!important;border-color:#d7c39f!important}
.cn-btn--ghost:hover{background:#fbf7ef!important;color:var(--v2-navy)!important}

/* B2B portal */
.cn-b2b-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cn-b2b-benefits span{padding:8px 11px;border:1px solid #dfd1bb!important;border-radius:999px!important;background:#fff!important;color:#596675!important;font-size:10px!important;font-weight:650!important}
.cn-b2b-auth-grid{gap:16px!important}
.cn-b2b-panel,.cn-b2b-state,.cn-b2b-dashboard__head,.cn-quick-order{border:1px solid var(--v2-line)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 14px 40px rgba(13,42,69,.05)!important}
.cn-b2b-panel{padding:28px!important}
.cn-b2b-panel--accent{background:#fbf7ef!important}
.cn-b2b-panel h2,.cn-b2b-dashboard h2,.cn-b2b-state h2,.cn-quick-order__head strong{font-family:"Cormorant Garamond",serif!important;color:var(--v2-navy)!important;font-weight:600!important}
.cn-b2b-panel h2,.cn-b2b-state h2{font-size:34px!important;line-height:1!important}
.cn-b2b-panel>p,.cn-b2b-dashboard__head p,.cn-b2b-state p{color:var(--v2-muted)!important;font-size:12px!important;line-height:1.65!important}
.cn-b2b-form label,.cn-b2b-panel .login-username,.cn-b2b-panel .login-password{color:#526171!important;font-size:10px!important;font-weight:700!important}
.cn-b2b-form input,.cn-b2b-form select,.cn-b2b-panel input[type="text"],.cn-b2b-panel input[type="password"],.cn-b2b-panel input[type="email"],.cn-b2b-panel input[type="tel"]{min-height:48px!important;border:1px solid #ded2c1!important;border-radius:10px!important;background:#fff!important;font-size:14px!important}
.cn-b2b-form input:focus,.cn-b2b-form select:focus,.cn-b2b-panel input:focus{outline:none!important;border-color:#d1aa64!important;box-shadow:0 0 0 3px rgba(200,146,53,.12)!important}
.cn-b2b-panel #wp-submit,.cn-b2b-form .cn-btn{min-height:48px!important;border-radius:10px!important;background:var(--v2-gold-dark)!important;border-color:var(--v2-gold-dark)!important;color:#fff!important}
.cn-b2b-login-help a,.cn-b2b-back-login{color:var(--v2-gold-dark)!important}
.cn-b2b-notice{border-radius:10px!important}
.cn-b2b-dashboard__head{padding:22px!important}
.cn-quick-order__head,.cn-quick-order__footer{padding:16px 18px!important}
.cn-quick-order__search{padding:12px 18px!important;background:#fbf8f3!important}
.cn-quick-order__table th{color:var(--v2-navy)!important;font-size:10px!important}
.cn-quick-order__table td{font-size:11px!important}

/* Professional band */
.cn-pro-band{position:relative;overflow:hidden;background:var(--v2-navy)!important;color:#fff}
.cn-pro-band::after{content:"";position:absolute;right:-140px;bottom:-210px;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%}
.cn-pro-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:66px 0!important}
.cn-pro-grid .cn-eyebrow{color:#e8bf73!important}
.cn-pro-grid h2{color:#fff!important;font-size:46px!important}
.cn-pro-grid p{color:#c6d2dd!important;font-size:13px!important;line-height:1.7!important}
.cn-pro-grid .cn-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* WooCommerce archive / product */
.cn-woo{padding:62px 0 82px}
.cn-woo ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.cn-woo ul.products::before,.cn-woo ul.products::after{display:none!important}
.cn-woo ul.products li.product{width:auto!important;margin:0!important;padding:14px!important;border:1px solid var(--v2-line)!important;border-radius:15px!important;background:#fff!important}
.cn-woo ul.products li.product img{margin:0 0 12px!important;border-radius:10px!important;background:#faf6ef!important}
.cn-woo ul.products li.product .woocommerce-loop-product__title{font-family:"DM Sans",sans-serif!important;color:var(--v2-navy)!important;font-size:13px!important;font-weight:650!important;line-height:1.3!important}
.cn-woo .price{color:var(--v2-gold-dark)!important;font-size:13px!important;font-weight:750!important}
.cn-woo .button,.cn-woo button.button,.cn-woo input.button{min-height:42px!important;border-radius:9px!important;background:var(--v2-gold-dark)!important;border-color:var(--v2-gold-dark)!important;color:#fff!important;font-size:10px!important;font-weight:700!important}

/* single product */
.cn-woo div.product{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:start}
.cn-woo div.product div.images,.cn-woo div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.cn-woo div.product div.images{padding:20px;border:1px solid var(--v2-line);border-radius:18px;background:#fff}
.cn-woo div.product div.images img{border-radius:12px;background:#fbf8f3}
.cn-woo div.product .product_title{margin:0 0 14px!important;font-family:"Cormorant Garamond",serif!important;color:var(--v2-navy)!important;font-size:clamp(42px,4vw,58px)!important;font-weight:600!important;line-height:.98!important;letter-spacing:-.025em!important}
.cn-woo div.product .price{margin:0 0 18px!important;font-size:18px!important}
.cn-woo div.product .woocommerce-product-details__short-description{color:var(--v2-muted);font-size:13px;line-height:1.75}
.cn-woo div.product form.cart{display:flex;gap:10px;align-items:center;margin-top:22px}
.cn-woo div.product form.cart .qty{min-height:46px;border:1px solid #ded2c1;border-radius:9px}
.cn-product-pro-note{margin:18px 0;padding:14px 15px;border:1px solid #dfcfb5!important;border-radius:11px!important;background:#fbf6ed!important}
.woocommerce-tabs{margin-top:56px}
.woocommerce-tabs ul.tabs{padding:0!important}
.woocommerce-tabs ul.tabs li{border-color:var(--v2-line)!important;background:#f8f3eb!important}
.woocommerce-tabs .panel{color:#586778;font-size:13px;line-height:1.75}
.related.products>h2{margin-top:60px;font-family:"Cormorant Garamond",serif;color:var(--v2-navy);font-size:38px;font-weight:600}

/* Cart / checkout */
.cn-b2b-commerce-page{padding:52px 0 82px!important;background:#fff}
.cn-page-content{max-width:none!important}
.cn-b2b-commerce-page .wc-block-cart-items,
.cn-b2b-commerce-page .wc-block-components-sidebar,
.cn-b2b-commerce-page .woocommerce-checkout-review-order,
.cn-b2b-commerce-page .col2-set{border:1px solid var(--v2-line)!important;border-radius:14px!important;background:#fff!important}
.cn-b2b-commerce-page input,.cn-b2b-commerce-page select,.cn-b2b-commerce-page textarea{border-color:#ded2c1!important;border-radius:9px!important}
.cn-b2b-commerce-page .wc-block-components-button,
.cn-b2b-commerce-page #place_order,
.cn-b2b-commerce-page .checkout-button{min-height:50px!important;border-radius:10px!important;background:var(--v2-gold-dark)!important;color:#fff!important}

/* About / contact / services */
.cn-split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.cn-photo-panel{min-height:480px;overflow:hidden;border:1px solid var(--v2-line);border-radius:20px;background:#f8f4ed}
.cn-photo-panel img{width:100%;height:100%;min-height:480px;object-fit:cover}
.cn-copy h2{font-size:52px!important}
.cn-copy p{color:var(--v2-muted);font-size:13px;line-height:1.75}
.cn-heading-row{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:32px}
.cn-heading-row h2{font-size:50px!important}
.cn-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cn-step-card,.cn-fact,.cn-contact-card{padding:22px;border:1px solid var(--v2-line)!important;border-radius:14px!important;background:#fff!important}
.cn-step-card>span,.cn-contact-card>span{color:var(--v2-gold-dark)!important;font-size:9px!important;font-weight:750!important;letter-spacing:.11em!important;text-transform:uppercase}
.cn-step-card h3{margin:12px 0 8px;font-family:"Cormorant Garamond",serif;color:var(--v2-navy);font-size:26px;font-weight:600}
.cn-step-card p,.cn-fact span{color:var(--v2-muted)!important;font-size:11px!important;line-height:1.65!important}
.cn-story{display:grid;grid-template-columns:.65fr 1.35fr;gap:64px}
.cn-story__number{font-family:"Cormorant Garamond",serif!important;color:#dfcda9!important;font-size:108px!important}
.cn-story h2{font-size:56px!important}
.cn-story__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}
.cn-fact strong{color:var(--v2-navy)!important;font-size:11px!important}
.cn-contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:start}
.cn-contact-stack{display:grid;gap:10px}
.cn-contact-card strong{display:block;margin-top:8px;color:var(--v2-navy)!important;font-size:13px!important;line-height:1.65!important}
.cn-contact-card a{color:inherit;text-decoration:none}
.cn-service-list{display:grid;gap:16px}
.cn-service-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:center;padding:20px;border:1px solid var(--v2-line);border-radius:17px;background:#fff}
.cn-service-row__image{min-height:290px;border-radius:12px;overflow:hidden;background:#faf6ef}
.cn-service-row__image img{width:100%;height:100%;min-height:290px;object-fit:contain}
.cn-service-row h2{margin:8px 0 12px;font-family:"Cormorant Garamond",serif;color:var(--v2-navy);font-size:38px;font-weight:600}
.cn-service-row p{color:var(--v2-muted);font-size:12px;line-height:1.7}

/* Rewards */
.cr-balance,.cr-how,.cr-history,.cr-requests,.cr-card{border-color:var(--v2-line)!important;border-radius:14px!important}
.cr-label,.cr-card>span{color:var(--v2-gold-dark)!important}
.cr-balance__row>strong,.cr-section-head h3,.cr-history h3,.cr-requests h3,.cr-card h4,.cr-how>strong{color:var(--v2-navy)!important}
.cr-level,.cr-card__icon{background:#f6e9d2!important;color:#76531a!important}
.cr-progress__bar span{background:linear-gradient(90deg,var(--v2-gold-dark),#deb45f)!important}
.cr-card.is-unlocked{border-color:#d7b775!important;background:linear-gradient(180deg,#fff,#fbf6ed)!important}

@media(max-width:980px){
 .cn-shell{width:min(100% - 32px,1180px)}
 .cn-product-grid,.cn-woo ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .cn-woo div.product{grid-template-columns:1fr;gap:28px}
 .cn-pro-grid,.cn-split,.cn-contact-grid,.cn-story,.cn-service-row{grid-template-columns:1fr}
 .cn-pro-grid .cn-actions{justify-content:flex-start}
 .cn-step-grid{grid-template-columns:1fr}
 .cn-photo-panel,.cn-photo-panel img{min-height:360px}
}
@media(max-width:640px){
 .cn-shell{width:min(100% - 24px,1180px)}
 .cn-section{padding:54px 0}
 .v2-pagehero{padding:40px 0 31px}
 .v2-pagehero h1,.cn-subhero h1{font-size:38px!important}
 .v2-pagehero p,.cn-subhero .cn-lede{font-size:12.5px!important}
 .cn-subhero{padding:40px 0 31px!important}
 .cn-catalog-pro-banner{align-items:flex-start;flex-direction:column}
 .cn-catalog-filters{flex-wrap:nowrap!important;overflow-x:auto;margin-inline:-12px;padding:0 12px 5px;scrollbar-width:none}
 .cn-catalog-filters::-webkit-scrollbar{display:none}
 .cn-catalog-filters a{flex:0 0 auto;white-space:nowrap}
 .cn-catalog-search{grid-template-columns:1fr}
 .cn-catalog-search .cn-btn{width:100%}
 .cn-product-grid,.cn-woo ul.products{gap:8px!important}
 .cn-product-card__image{padding:9px!important}
 .cn-product-card__body{padding:10px!important}
 .cn-product-card h3{font-size:12.5px!important}
 .cn-woo ul.products li.product{padding:9px!important}
 .cn-woo ul.products li.product .woocommerce-loop-product__title{font-size:12px!important}
 .cn-woo div.product .product_title{font-size:40px!important}
 .cn-woo div.product div.images{padding:12px}
 .cn-woo div.product form.cart{display:grid}
 .cn-woo div.product form.cart .quantity,.cn-woo div.product form.cart .single_add_to_cart_button{width:100%!important}
 .cn-b2b-panel{padding:19px!important}
 .cn-b2b-panel h2,.cn-b2b-state h2{font-size:30px!important}
 .cn-b2b-form__row{grid-template-columns:1fr!important}
 .cn-b2b-form input,.cn-b2b-form select,.cn-b2b-panel input{font-size:16px!important}
 .cn-quick-order__table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .cn-quick-order__table table{min-width:680px}
 .cn-pro-grid{padding:52px 0!important}
 .cn-pro-grid h2{font-size:38px!important}
 .cn-heading-row{display:block}
 .cn-heading-row h2,.cn-copy h2,.cn-story h2{font-size:40px!important}
 .cn-story__facts{grid-template-columns:1fr}
 .cn-photo-panel,.cn-photo-panel img{min-height:280px}
 .cn-service-row{padding:13px}
 .cn-service-row__image,.cn-service-row__image img{min-height:220px}
 .cn-b2b-commerce-page{padding:34px 0 60px!important}
}
