/*
Theme Name: TBM Astra Child
Theme URI: https://triplebeautymall.com/
Description: Triple Beauty Mall child theme for Astra. Brand colors, fonts, category tints and the product color switcher.
Author: Triple Beauty Mall
Template: astra
Version: 1.8.2
Text Domain: tbm-astra-child
*/

/* ---------- Brand tokens (from the TBM logo) ---------- */
:root{
  --tbm-emerald:#0B6B3A; --tbm-forest:#063D24; --tbm-mint:#DDF2E5;
  --tbm-gold:#F2A93B; --tbm-tangerine:#FF8A1F; --tbm-butter:#FFF3D6;
  --tbm-blush:#FBE3EA; --tbm-sky:#DDEEF6;
  --tbm-ink:#14201A; --tbm-muted:#58665E; --tbm-page:#FFFFFF;
  --tbm-display:"Unbounded",system-ui,sans-serif;
  --tbm-body:"Karla",system-ui,sans-serif;
  --tbm-tint:#FFFFFF; /* product color tint, set by the switcher */

  /* Map onto Astra's global palette */
  --ast-global-color-0:var(--tbm-emerald);
  --ast-global-color-1:var(--tbm-forest);
  --ast-global-color-2:var(--tbm-ink);
  --ast-global-color-3:var(--tbm-muted);
  --ast-global-color-4:#F4F7F4;
  --ast-global-color-5:#FFFFFF;
  --ast-global-color-6:var(--tbm-gold);
  --ast-global-color-7:var(--tbm-mint);
  --ast-global-color-8:var(--tbm-ink);
}

/* ---------- Type ---------- */
body,button,input,select,textarea{font-family:var(--tbm-body);color:var(--tbm-ink)}
h1,h2,h3,h4,h5,h6,.entry-title,.site-title,.woocommerce-loop-product__title,.product_title{
  font-family:var(--tbm-display);letter-spacing:-.01em;text-wrap:balance;color:var(--tbm-ink)}
.product_title{font-weight:600}
a{color:var(--tbm-emerald)}
a:hover,a:focus{color:var(--tbm-tangerine)}

/* ---------- Header / footer ---------- */
.site-header .site-title,.site-header .site-description{display:none!important}
.site-header .custom-logo-link img,.site-header .custom-logo{max-height:72px!important;width:auto!important;height:auto}
.site-primary-header-wrap .ast-builder-grid-row{min-height:92px}
@media (max-width:921px){.site-header .custom-logo{max-height:52px!important}.site-primary-header-wrap .ast-builder-grid-row{min-height:70px}}
.main-header-menu .tbm-cart-link > .menu-link{background:var(--tbm-mint);color:var(--tbm-emerald)!important;border-radius:999px;padding:6px 14px!important;margin-left:6px}
.main-header-menu .tbm-cart-link .tbm-cart-count{display:inline-block;min-width:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--tbm-emerald);color:#fff;font-size:12px;line-height:20px;text-align:center}
.site-header,.ast-primary-header-bar{border-bottom:3px solid var(--tbm-gold)}
.main-header-menu .menu-link{font-weight:600}
.main-header-menu > .menu-item:nth-child(1) > .menu-link{color:#B23A62}
.main-header-menu > .menu-item:nth-child(2) > .menu-link{color:#C4620E}
.main-header-menu > .menu-item:nth-child(3) > .menu-link{color:#1D5E86}
.site-footer,.site-below-footer-wrap,.site-above-footer-wrap,.site-primary-footer-wrap{background:var(--tbm-forest)!important;color:#CFE6D8}
.site-footer a{color:var(--tbm-gold)}
.site-footer a:hover{color:#fff}

/* ---------- Buttons ---------- */
.button,button.button,.wp-block-button__link,.ast-button,input[type=submit],
.woocommerce a.button,.woocommerce button.button,.woocommerce .single_add_to_cart_button,.woocommerce #respond input#submit{
  background:var(--tbm-emerald)!important;color:#fff!important;border-radius:10px!important;font-weight:700;border:0}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .single_add_to_cart_button:hover{
  background:var(--tbm-forest)!important}
.woocommerce a.checkout-button,.woocommerce #place_order{background:var(--tbm-gold)!important;color:var(--tbm-forest)!important}

/* ---------- Shop grid ---------- */
.woocommerce ul.products li.product{border-radius:16px;overflow:hidden;background:#fff}
.woocommerce ul.products li.product img{border-radius:14px}
.woocommerce span.onsale{background:var(--tbm-tangerine);color:#fff;border-radius:999px}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--tbm-emerald);font-weight:700}

/* Product cards: readable titles, aligned buttons */
.woocommerce ul.products li.product{display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(6,61,36,.05),0 10px 24px -18px rgba(6,61,36,.35);transition:transform .2s ease,box-shadow .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 1px 0 rgba(6,61,36,.05),0 16px 30px -18px rgba(6,61,36,.45)}
.woocommerce ul.products li.product .astra-shop-summary-wrap{display:flex;flex-direction:column;flex:1;padding:14px 16px 18px}
.woocommerce ul.products li.product .ast-woo-product-category{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tbm-tangerine);margin-bottom:4px}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  font-family:var(--tbm-body)!important;font-weight:700;font-size:16px!important;line-height:1.3!important;letter-spacing:0;color:var(--tbm-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;margin:0 0 6px;text-wrap:pretty}
.woocommerce ul.products li.product .price{font-size:17px;margin:2px 0 14px}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start;padding:10px 18px;font-size:14px}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{margin:0}
@media (max-width:544px){.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important}}

/* Focus: only for keyboard users, in brand gold */
a:focus,button:focus,.button:focus{outline:none}
a:focus-visible,button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--tbm-gold)!important;outline-offset:3px}

/* Single product title */
.single-product .product_title{font-size:clamp(22px,2.6vw,32px);line-height:1.2}

/* Category tints (archive headers + body class) */
.tbm-cat-beauty .ast-archive-description,.tbm-cat-beauty .woocommerce-products-header{background:var(--tbm-blush);border-radius:16px;padding:24px}
.tbm-cat-fashion .ast-archive-description,.tbm-cat-fashion .woocommerce-products-header{background:var(--tbm-butter);border-radius:16px;padding:24px}
.tbm-cat-tech .ast-archive-description,.tbm-cat-tech .woocommerce-products-header{background:var(--tbm-sky);border-radius:16px;padding:24px}

/* ---------- Product page: color tint + switcher ---------- */
.single-product div.product .woocommerce-product-gallery{
  background:var(--tbm-tint);border-radius:18px;padding:14px;transition:background-color .35s ease}
.tbm-switch{margin:4px 0 22px}
.tbm-switch__label{font-weight:700;font-size:15px;margin:0 0 10px}
.tbm-switch__label b{color:var(--tbm-emerald)}
.tbm-switch__list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.tbm-switch__item a,.tbm-switch__item span{
  display:block;width:42px;height:42px;border-radius:50%;border:3px solid #fff;
  box-shadow:0 0 0 2px #DCE5DF;background:var(--sw);transition:transform .15s ease,box-shadow .15s ease}
.tbm-switch__item a:hover{transform:scale(1.07)}
.tbm-switch__item a:focus-visible{outline:3px solid var(--tbm-gold);outline-offset:3px}
.tbm-switch__item.is-current span{box-shadow:0 0 0 3px var(--tbm-emerald)}
.tbm-switch__item.is-oos a{opacity:.45;background-image:linear-gradient(135deg,transparent 46%,#fff 46%,#fff 54%,transparent 54%)}
.tbm-switch__label--size{margin-top:16px}
.tbm-switch__list--size{gap:8px}
.tbm-size{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:10px;
  border:2px solid #DCE5DF;background:#fff;color:var(--tbm-ink)!important;font-weight:700;font-size:14px;line-height:1.15;text-decoration:none}
.tbm-size small{font-weight:500;font-size:11px;color:var(--tbm-muted)}
a.tbm-size:hover{border-color:var(--tbm-gold)}
.tbm-size.is-current{border-color:var(--tbm-emerald);background:var(--tbm-mint);color:var(--tbm-forest)!important}
.tbm-size.is-oos{opacity:.5;text-decoration:line-through}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- Footer ---------- */
.site-footer .site-primary-footer-wrap,.site-footer .site-above-footer-wrap,.site-footer .site-below-footer-wrap{display:none!important}
.tbm-footer{background:var(--tbm-forest);color:#CFE6D8;padding:48px 20px 0;border-top:4px solid var(--tbm-gold)}
.tbm-footer__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.tbm-footer__name{font-family:var(--tbm-display);font-weight:700;font-size:20px;color:var(--tbm-gold);margin:0 0 6px}
.tbm-footer__tag{margin:0 0 14px;max-width:30ch}
.tbm-footer__contact{margin:0;display:grid;gap:4px;font-size:14px}
.tbm-footer__contact a{color:#fff;text-decoration:none}
.tbm-footer__contact a:hover{color:var(--tbm-gold)}
.tbm-footer__col p{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:#fff;margin:0 0 10px}
.tbm-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tbm-footer__col a{color:#CFE6D8;text-decoration:none}
.tbm-footer__col a:hover{color:var(--tbm-gold)}
.tbm-footer__bar{max-width:1200px;margin:36px auto 0;padding:16px 0 20px;border-top:1px solid rgba(255,255,255,.15);font-size:13px}
@media (max-width:760px){.tbm-footer__inner{grid-template-columns:1fr 1fr}.tbm-footer__brand{grid-column:1/-1}}

/* ---------- Simple page header band ---------- */
article.page:has(.tbm-pagehead) .entry-header{display:none}
.tbm-pagehead{background:var(--tbm-emerald);color:#fff;border-radius:20px;padding:36px 28px;margin:0 0 28px;border-bottom:5px solid var(--tbm-gold)}
.tbm-pagehead h1{color:#fff;margin:0 0 6px;font-size:clamp(28px,4vw,42px)}
.tbm-pagehead p{margin:0;color:#D6EFE0;font-size:17px}

/* About page */
.tbm-about{display:grid;gap:36px;margin-bottom:40px}
.tbm-about h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 12px}
.tbm-about__lead p{font-size:18px;max-width:68ch}
.tbm-about__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tbm-about__how{background:var(--tbm-mint);border-radius:20px;padding:28px}
.tbm-about__how ul{margin:0;padding-left:20px;display:grid;gap:10px;font-size:17px}
.tbm-about__contact{background:var(--tbm-butter);border-radius:20px;padding:28px}
.tbm-about__contact a:not(.tbm-btn){font-weight:700}
@media (max-width:860px){.tbm-about__grid{grid-template-columns:1fr}}

/* Readable policy / text pages */
.page .elementor-widget-text-editor{font-size:16px;line-height:1.7}
.page .elementor-widget-text-editor strong{color:var(--tbm-forest)}

/* Archive headers */
.woocommerce-products-header{border-radius:20px;padding:28px 24px;margin-bottom:24px;background:var(--tbm-mint)}
.woocommerce-products-header__title{margin:0}

/* ---------- Homepage ---------- */
.tbm-home .entry-header{display:none}
.tbm-home .site-content > .ast-container{max-width:100%;padding:0}
.tbm-home #primary{margin:0!important;padding:0!important}
.tbm-home #primary article.page,.tbm-home .site-main > article{padding:0!important;margin:0!important}
.tbm-home .entry-content{margin:0!important}
.tbm-home .site-content{padding-top:0!important}
.tbm-sec{padding:56px 20px}
.tbm-sec__in{max-width:1200px;margin:0 auto}
.tbm-sec h2{font-size:clamp(24px,3.2vw,34px);margin:0 0 6px}
.tbm-sec__sub{margin:0 0 24px;color:var(--tbm-muted)}
.tbm-sec__head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.tbm-sec__head a{font-weight:700;text-decoration:none}

.tbm-hero{background:var(--tbm-emerald);color:#fff;padding:64px 20px 0;overflow:hidden}
.tbm-hero__in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:24px}
.tbm-hero__copy{padding-bottom:64px}
.tbm-hero__eyebrow{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:var(--tbm-gold);margin:0 0 14px}
.tbm-hero h1{color:#fff;font-size:clamp(38px,6vw,72px);line-height:.98;margin:0 0 16px;letter-spacing:-.025em}
.tbm-hero h1 em{font-style:normal;color:var(--tbm-gold)}
.tbm-hero p.lead{font-size:20px;color:#D6EFE0;margin:0 0 28px}
.tbm-btn{display:inline-block;font-weight:700;padding:14px 26px;border-radius:12px;text-decoration:none!important;margin:0 10px 10px 0}
.tbm-btn--gold{background:var(--tbm-gold);color:var(--tbm-forest)!important}
.tbm-btn--gold:hover{background:#FFC05E}
.tbm-btn--ghost{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.tbm-btn--ghost:hover{box-shadow:inset 0 0 0 2px #fff}
.tbm-skyline{display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;height:320px}
.tbm-skyline i{display:block;width:52px;border-radius:8px 8px 0 0}
.tbm-skyline i:nth-child(1){height:38%;background:var(--tbm-mint)}
.tbm-skyline i:nth-child(2){height:76%;background:var(--tbm-gold)}
.tbm-skyline i:nth-child(3){height:100%;background:repeating-linear-gradient(0deg,var(--tbm-tangerine) 0 14px,#FFB25E 14px 20px)}
.tbm-skyline i:nth-child(4){height:60%;background:#fff}
.tbm-skyline i:nth-child(5){height:46%;background:var(--tbm-gold)}

.tbm-strip{background:var(--tbm-gold);color:var(--tbm-forest);text-align:center;padding:12px 20px;font-weight:700;letter-spacing:.06em;font-size:14px}
.tbm-strip span{margin:0 14px;white-space:nowrap}

.tbm-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tbm-cat{display:flex;flex-direction:column;justify-content:space-between;min-height:200px;border-radius:20px;padding:28px 24px;text-decoration:none!important;transition:transform .2s ease}
.tbm-cat:hover{transform:translateY(-3px)}
.tbm-cat h3{margin:0 0 8px;font-size:24px;color:inherit}
.tbm-cat p{margin:0;color:inherit;opacity:.85}
.tbm-cat span{font-weight:700;margin-top:18px}
.tbm-cat--beauty{background:var(--tbm-blush);color:#7A1F42!important}
.tbm-cat--fashion{background:var(--tbm-butter);color:#8A430A!important}
.tbm-cat--tech{background:var(--tbm-sky);color:#123F5C!important}

.tbm-band--beauty{background:var(--tbm-blush)}
.tbm-band--fashion{background:var(--tbm-butter)}
.tbm-band--tech{background:var(--tbm-sky)}
.tbm-band--mint{background:var(--tbm-mint)}

.tbm-colors{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.tbm-colors__dots{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 24px}
.tbm-colors__dots a{width:48px;height:48px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #CFE0D6;display:block;transition:transform .15s ease}
.tbm-colors__dots a:hover{transform:scale(1.08)}
.tbm-colors__card{background:#fff;border-radius:20px;padding:26px}
.tbm-colors__card ul{margin:0;padding-left:18px;display:grid;gap:6px}

.tbm-promise{background:var(--tbm-forest);color:#fff;text-align:center}
.tbm-promise h2{color:var(--tbm-gold)}
.tbm-promise p{color:#CFE6D8;max-width:56ch;margin:0 auto 22px}

@media (max-width:860px){
  .tbm-hero__in,.tbm-colors{grid-template-columns:1fr}
  .tbm-hero__copy{padding-bottom:12px}
  .tbm-skyline{justify-content:flex-start;height:150px}
  .tbm-skyline i{width:32px}
  .tbm-cats{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- FAQ + Gift Guide (v1.7.0) ---------- */
.tbm-faq{max-width:860px;margin:0 auto 48px;display:grid;gap:28px}
.tbm-faq h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 10px;color:var(--tbm-forest)}
.tbm-faq details{background:#fff;border:1px solid #E3ECE6;border-radius:14px;padding:0 20px;margin-bottom:10px}
.tbm-faq details[open]{background:var(--tbm-mint);border-color:transparent}
.tbm-faq summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:700;font-size:17px;position:relative}
.tbm-faq summary::-webkit-details-marker{display:none}
.tbm-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:24px;color:var(--tbm-emerald)}
.tbm-faq details[open] summary::after{content:"\2013"}
.tbm-faq details p{margin:0 0 16px;font-size:16px;line-height:1.7}
.tbm-faq__help{background:var(--tbm-butter);border-radius:20px;padding:24px 28px}
.tbm-guide{display:grid;gap:14px;margin-bottom:40px}
.tbm-guide__nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px}
.tbm-guide__nav a{background:var(--tbm-mint);color:var(--tbm-forest);border-radius:999px;padding:8px 16px;font-weight:700;text-decoration:none}
.tbm-guide__nav a:hover{background:var(--tbm-gold);color:var(--tbm-ink)}
.tbm-guide section{border-radius:20px;padding:28px 24px 8px;scroll-margin-top:90px}
.tbm-guide section:nth-of-type(5n+1){background:var(--tbm-butter)}
.tbm-guide section:nth-of-type(5n+2){background:var(--tbm-blush)}
.tbm-guide section:nth-of-type(5n+3){background:var(--tbm-sky)}
.tbm-guide section:nth-of-type(5n+4){background:var(--tbm-mint)}
.tbm-guide section:nth-of-type(5n){background:#F1ECF8}
.tbm-guide h2{margin:0 0 4px;font-size:clamp(22px,2.6vw,30px)}
.tbm-guide section > p{margin:0 0 18px;color:var(--tbm-muted)}

/* ---------- Blog (v1.8.0) ---------- */
.tbm-bloghead{background:linear-gradient(120deg,var(--tbm-emerald),var(--tbm-forest))}
.tbm-bloghead__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--tbm-gold)!important;font-size:13px!important;margin-bottom:6px!important}
.tbm-blog.blog .site-main{display:block!important}
.tbm-blog.blog .site-main > .ast-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin:0!important}
.tbm-blog.blog .site-main > .ast-row::before,.tbm-blog.blog .site-main > .ast-row::after{display:none!important}
.tbm-blog.blog .ast-row > article.post{width:auto!important;max-width:none!important;float:none!important}
.tbm-blog.blog .site-main > .tbm-pagehead,.tbm-blog.blog .site-main > .ast-pagination,.tbm-blog.blog .site-main > nav{grid-column:1/-1}
.tbm-blog.blog article.post{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(20,32,26,.08);transition:transform .2s,box-shadow .2s;padding:0!important;margin:0!important}
.tbm-blog.blog article.post:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(20,32,26,.14)}
.tbm-blog.blog article.post:nth-of-type(3n+1){border-top:6px solid var(--tbm-gold)}
.tbm-blog.blog article.post:nth-of-type(3n+2){border-top:6px solid #B23A62}
.tbm-blog.blog article.post:nth-of-type(3n){border-top:6px solid #1D5E86}
.tbm-blog.blog .post-thumb img,.tbm-blog.blog .ast-blog-featured-section img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tbm-blog.blog .entry-header,.tbm-blog.blog .entry-content,.tbm-blog.blog .ast-excerpt-container,.tbm-blog.blog .entry-title,.tbm-blog.blog .entry-meta,.tbm-blog.blog .read-more,.tbm-blog.blog .ast-read-more-container{padding-left:22px!important;padding-right:22px!important}
.tbm-blog.blog .entry-meta .comments-link,.tbm-blog.blog .entry-meta .posted-by{display:none}
.tbm-blog.blog .entry-title{font-size:20px;line-height:1.3;margin-top:16px}
.tbm-blog.blog .entry-title a{color:var(--tbm-ink);text-decoration:none}
.tbm-blog.blog .read-more a,.tbm-blog.blog .ast-read-more-container a{display:inline-block;margin:6px 0 22px;font-weight:700;color:var(--tbm-emerald)}
.single-post .entry-content{font-size:18px;line-height:1.75;max-width:760px;margin:0 auto}
.single-post .entry-content h2{color:var(--tbm-forest);margin-top:1.6em}
.single-post .tbm-post-img img{border-radius:18px;width:100%}
.single-post .tbm-post-img figcaption{text-align:center;color:var(--tbm-muted);font-size:14px}
.tbm-tip{background:var(--tbm-butter);border-left:6px solid var(--tbm-gold);border-radius:14px;padding:16px 20px;margin:24px 0}
.tbm-cta{background:var(--tbm-mint);border-radius:20px;padding:26px;text-align:center;margin:36px 0 10px}
.tbm-cta p{font-family:var(--tbm-display);font-size:24px;margin:0 0 14px;color:var(--tbm-forest)}
/* v1.8.2: clean blog card meta (hide stray separators) */
.tbm-blog.blog .entry-meta{font-size:0!important}
.tbm-blog.blog .entry-meta .cat-links{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
