/* Tiệm Hoa Nắng — v8 premium visual cleanup */
:root{
  --thn-font:"Inter","Segoe UI",Arial,sans-serif;
  --thn-display:"Playfair Display",Georgia,serif;
  --thn-paper:#fff;
  --thn-cream:#faf9f6;
  --thn-ink:#1f1f1f;
  --thn-body:#333;
  --thn-muted:#6a6561;
  --thn-line:#ece7e2;
  --thn-brand:#8f3049;
  --thn-brand-dark:#76253b;
  --thn-gold:#b88722;
}

body{background:var(--thn-paper)!important;color:var(--thn-body)!important}

/* Desktop header: logo + navigation only */
@media(min-width:821px){
  .site-header .header-tools,
  .site-header .mobile-menu{display:none!important}
  .site-header .desktop-nav{display:block!important;margin-left:auto!important}
}

/* Mobile header: menu — centered logo — search */
@media(max-width:820px){
  .site-header{background:#fff!important}
  .header-main{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    min-height:64px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  .desktop-nav{display:none!important}
  .mobile-menu{
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    margin:0!important;
  }
  .brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    margin:0!important;
  }
  .brand__mark{width:42px!important;height:42px!important}
  .brand__text{display:none!important}
  .header-tools{
    display:block!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }
  .header-search{display:block!important;position:relative!important}
  .header-search>summary{
    width:42px!important;height:42px!important;
    display:grid!important;place-items:center!important;
    cursor:pointer!important;
  }
  .header-search form{
    position:absolute!important;
    right:0!important;
    top:48px!important;
    width:min(86vw,340px)!important;
    z-index:1000!important;
    padding:10px!important;
    background:#fff!important;
    border:1px solid var(--thn-line)!important;
    box-shadow:0 12px 34px rgba(20,20,20,.12)!important;
  }
}

/* Hero: one image, one H1, one supporting line, one CTA */
.hero-banner{
  width:calc(100% - 24px)!important;
  margin:12px auto 0!important;
  min-height:620px!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#151515!important;
}
.hero-banner__media,
.hero-banner__media img{width:100%!important;height:100%!important}
.hero-banner__media img{object-fit:cover!important}
.hero-banner__shade{
  background:linear-gradient(180deg,rgba(0,0,0,.06) 10%,rgba(0,0,0,.24) 48%,rgba(0,0,0,.72) 100%)!important;
}
.hero-banner__content{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  align-items:center!important;
  padding-bottom:54px!important;
}
.hero-banner .section-kicker{display:none!important}
.hero-banner h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(52px,6.2vw,82px)!important;
  font-weight:600!important;
}
.hero-banner__subtitle{
  margin:12px 0 22px!important;
  color:rgba(255,255,255,.94)!important;
  font-family:var(--thn-font)!important;
  font-size:16px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
}
body.home .hero-banner .cta-primary{
  display:inline-flex!important;
  min-height:48px!important;
  padding:0 24px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:4px!important;
  background:var(--thn-brand)!important;
  border:1px solid var(--thn-brand)!important;
  color:#fff!important;
  font-family:var(--thn-font)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
@media(max-width:820px){
  .hero-banner{
    width:calc(100% - 16px)!important;
    min-height:clamp(520px,125vw,680px)!important;
    margin-top:8px!important;
    border-radius:22px!important;
  }
  .hero-banner__content{padding:0 20px 34px!important}
  .hero-banner h1{font-size:clamp(42px,12vw,58px)!important}
  .hero-banner__subtitle{font-size:14px!important}
}

/* Editorial spacing */
.home-section,.category-strip,.product-collections{padding-top:58px!important;padding-bottom:58px!important}
@media(max-width:820px){
  .home-section,.category-strip,.product-collections{padding-top:46px!important;padding-bottom:46px!important}
}
.section-kicker{font-size:11px!important;letter-spacing:.12em!important}
.product-collections__intro .section-kicker,
.product-collections__intro-copy{display:none!important}
.collection-row__head p{display:none!important}
.collection-row{margin-top:38px!important}
.collection-row__head{margin-bottom:16px!important}

/* Categories: image first */
.category-grid{gap:18px!important}
.category-card{background:transparent!important;border:0!important;box-shadow:none!important}
.category-card__image{
  width:100%!important;
  aspect-ratio:1/1!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#f6f3ef!important;
}
.category-card__image img{width:100%!important;height:100%!important;object-fit:cover!important}
.category-card strong{
  display:block!important;
  margin-top:10px!important;
  font-family:var(--thn-font)!important;
  font-size:13px!important;
  text-align:center!important;
}

/* Product grid: image dominates */
.product-card{background:#fff!important;border:0!important;box-shadow:none!important}
.product-card__image{aspect-ratio:4/5!important;background:#f7f5f2!important;border-radius:2px!important}
.product-card__image img{width:100%!important;height:100%!important;object-fit:contain!important;padding:6px!important}
.product-card__body{padding:12px 2px 4px!important}
.product-card__title{
  font-family:var(--thn-display)!important;
  font-size:18px!important;
  font-weight:600!important;
  line-height:1.18!important;
  min-height:43px!important;
  max-height:43px!important;
  -webkit-line-clamp:2!important;
}
.product-card__price{
  margin-top:5px!important;
  color:#252525!important;
  font-family:var(--thn-font)!important;
  font-size:14px!important;
  font-weight:800!important;
}
.product-card__price *{color:inherit!important}
body.home .product-card__view,
body.home .nang-zalo-order,
body.home .woocommerce ul.products li.product .button{display:none!important}
.product-card__rating--empty{display:none!important}
.product-card__trust-rating{
  margin-top:7px!important;
  color:var(--thn-gold)!important;
  font-size:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
.product-card__trust-rating small{color:var(--thn-muted)!important;font-size:10.5px!important}

/* Real review cards */
.review-v8{background:#fff!important}
.review-v8__track{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.review-v8__card{
  min-height:180px!important;
  padding:20px!important;
  border:1px solid #eee!important;
  border-radius:10px!important;
  background:#fafafa!important;
}
.review-v8__stars{color:var(--thn-gold)!important;letter-spacing:.08em!important;font-size:14px!important}
.review-v8__name{
  display:block!important;
  margin-top:13px!important;
  font-family:var(--thn-display)!important;
  font-size:21px!important;
  font-weight:700!important;
  color:var(--thn-ink)!important;
}
.review-v8__text{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  margin:8px 0 0!important;
  color:#333!important;
  font-family:var(--thn-font)!important;
  font-size:14px!important;
  line-height:1.6!important;
  text-align:left!important;
}
@media(max-width:820px){
  .review-v8__track{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(82vw,310px)!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    gap:12px!important;
    padding:2px 2px 12px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .review-v8__track::-webkit-scrollbar{display:none!important}
  .review-v8__card{scroll-snap-align:start!important;min-height:170px!important}
}

/* Floating contact only */
.mobile-sticky{display:none!important}
.contact-float{
  right:16px!important;
  bottom:calc(16px + env(safe-area-inset-bottom))!important;
  gap:9px!important;
  transition:opacity .22s ease,transform .22s ease!important;
}
.contact-float a{
  width:48px!important;height:48px!important;
  border-radius:50%!important;
  box-shadow:0 8px 24px rgba(20,20,20,.14)!important;
  transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease!important;
}
.contact-float__phone{
  background:#fff!important;
  color:#171717!important;
  border:1px solid #e8e8e8!important;
}
.contact-float__zalo{
  background:var(--thn-brand)!important;
  color:#fff!important;
  border:1px solid var(--thn-brand)!important;
}
.contact-float.is-scrolled{opacity:.64!important;transform:scale(.88)!important;transform-origin:bottom right!important}
.contact-float:hover,.contact-float:focus-within{opacity:1!important;transform:scale(1)!important}
.contact-float__zalo svg{width:25px!important;height:25px!important}
.contact-float__zalo-mark{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-family:"Inter",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  line-height:1!important;
}
.zalo-copy-toast{
  position:fixed!important;
  left:50%!important;
  bottom:22px!important;
  z-index:1200!important;
  width:min(calc(100% - 32px),520px)!important;
  padding:12px 16px!important;
  border-radius:8px!important;
  background:#1f1f1f!important;
  color:#fff!important;
  font-family:var(--thn-font)!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:center!important;
  box-shadow:0 12px 34px rgba(0,0,0,.22)!important;
  opacity:0!important;
  transform:translate(-50%,14px)!important;
  pointer-events:none!important;
  transition:opacity .2s ease,transform .2s ease!important;
}
.zalo-copy-toast.is-visible{
  opacity:.96!important;
  transform:translate(-50%,0)!important;
}

/* Vietnamese-friendly typography */
html{-webkit-font-smoothing:antialiased!important;text-rendering:optimizeLegibility!important}
body,button,input,select,textarea{
  font-family:var(--thn-font)!important;
  font-size:16px!important;
  line-height:1.65!important;
  letter-spacing:0!important;
}
h1,h2,h3,h4,h5,h6,
.woocommerce div.product .product_title,
.product-card__title,
.review-v8__name{
  font-family:var(--thn-display)!important;
  font-style:normal!important;
  font-weight:600!important;
  letter-spacing:-.018em!important;
  line-height:1.18!important;
  text-wrap:balance;
}
h1{font-weight:700!important}
.section-title h2{font-size:clamp(32px,4vw,46px)!important}
.collection-row__head h3{font-size:clamp(24px,2.6vw,32px)!important}
.product-card__title{font-size:17px!important;line-height:1.28!important}
.product-card__trust-rating{gap:6px!important}
.product-card__trust-rating>span{letter-spacing:.06em!important}
.product-card__trust-rating small{
  color:#3f3f3f!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
@media(max-width:820px){
  .section-title h2{font-size:31px!important;line-height:1.2!important}
  .collection-row__head h3{font-size:24px!important;line-height:1.22!important}
  .product-card__title{font-size:16px!important}
  .zalo-copy-toast{bottom:74px!important}
}
@media(max-width:820px){
  .contact-float{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}
  .contact-float a{width:44px!important;height:44px!important}
}

/* PDP: one CTA, concise USPs, comfortable tabs */
.single-product .summary{padding-bottom:22px!important}
.nang-zalo-product{
  width:100%!important;
  min-height:54px!important;
  margin-top:16px!important;
  border-radius:5px!important;
  background:var(--thn-brand)!important;
  color:#fff!important;
  font-size:12px!important;
  letter-spacing:.055em!important;
}
.nang-zalo-note{display:none!important}
.nang-assurance{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--thn-line)!important;
}
.nang-assurance>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:5px!important;
  text-align:center!important;
  padding:4px!important;
}
.nang-assurance p{margin:0!important}
.nang-assurance strong{font-size:10.5px!important;line-height:1.25!important}
.nang-assurance small{display:none!important}
.woocommerce-tabs{
  margin-top:28px!important;
  padding:0 clamp(14px,4vw,28px) 28px!important;
}
.woocommerce-tabs ul.tabs{
  display:flex!important;
  gap:20px!important;
  padding:0!important;
  margin:0 0 20px!important;
  border-bottom:1px solid var(--thn-line)!important;
}
.woocommerce-tabs ul.tabs li{margin:0!important;padding:0 0 10px!important;background:none!important;border:0!important}
.woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--thn-ink)!important}
.woocommerce-tabs .panel{padding:0!important;line-height:1.75!important}

/* Product-card rating: centered under price */
.product-card__trust-rating{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  gap:7px!important;
  margin:8px auto 0!important;
  text-align:center!important;
}
.product-card__body{text-align:center!important}

/* PDP polish */
.single-product div.product{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-product .summary{
  padding:4px 0 24px!important;
}
.single-product .nang-product-title-short{
  margin:0 0 12px!important;
  font-family:var(--thn-display)!important;
  font-size:clamp(34px,4.6vw,52px)!important;
  font-weight:600!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  color:var(--thn-ink)!important;
}
.single-product .summary .price{
  margin:0 0 20px!important;
  color:#202020!important;
  font-family:var(--thn-font)!important;
  font-size:clamp(24px,3vw,30px)!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.single-product .summary .price *{color:inherit!important}
.single-product .woocommerce-product-details__short-description{
  margin:0 0 18px!important;
  color:#5f5a56!important;
  font-family:var(--thn-font)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.single-product .woocommerce-product-details__short-description p{margin:0!important}
.single-product .nang-zalo-product{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:54px!important;
  margin:18px 0 0!important;
  padding:0 18px!important;
  border-radius:7px!important;
  background:var(--thn-brand)!important;
  color:#fff!important;
  font-family:var(--thn-font)!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  text-align:center!important;
}
.single-product .nang-assurance{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:18px 0 0!important;
  padding:16px 0 0!important;
  border-top:1px solid var(--thn-line)!important;
}
.single-product .nang-assurance>div{
  min-width:0!important;
  padding:0 4px!important;
}
.single-product .nang-assurance svg{
  width:22px!important;
  height:22px!important;
  margin-bottom:5px!important;
  color:#4c4946!important;
}
.single-product .nang-assurance strong{
  display:block!important;
  font-family:var(--thn-font)!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.35!important;
  color:#343230!important;
}
.single-product .product_meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 18px!important;
  margin:18px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid var(--thn-line)!important;
  color:#77716d!important;
  font-family:var(--thn-font)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.single-product .product_meta a{color:#514c49!important;text-decoration:none!important}
.single-product .woocommerce-tabs{
  clear:none!important;
  margin-top:38px!important;
  padding:0 0 34px!important;
}
.single-product .woocommerce-tabs ul.tabs{
  margin:0 0 22px!important;
  padding:0!important;
}
.single-product .woocommerce-tabs .panel{
  padding:0 2px!important;
  color:#3d3936!important;
  font-family:var(--thn-font)!important;
  font-size:16px!important;
  line-height:1.75!important;
}
.single-product .woocommerce-tabs .panel>h2:first-child{display:none!important}
.single-product .product_meta .sku_wrapper{display:none!important}
@media(max-width:820px){
  .single-product div.product div.images,
  .single-product div.product div.summary{
    float:none!important;
    width:100%!important;
  }
  .single-product .summary{
    margin:0!important;
    padding:22px 18px 10px!important;
  }
  .single-product .nang-product-title-short{
    font-size:36px!important;
    line-height:1.08!important;
  }
  .single-product .summary .price{font-size:25px!important}
  .single-product .woocommerce-product-details__short-description{
    font-size:15px!important;
    line-height:1.65!important;
  }
  .single-product .nang-assurance{gap:3px!important}
  .single-product .nang-assurance strong{font-size:10.5px!important}
  .single-product .product_meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    margin-top:16px!important;
  }
  .single-product .woocommerce-tabs{
    clear:none!important;
    margin-top:26px!important;
    padding:0 18px 30px!important;
  }
  .single-product .woocommerce-tabs ul.tabs{gap:18px!important}
  .single-product .woocommerce-tabs .panel>h2:first-child{font-size:28px!important}
}

/* Strip heavy backgrounds */
.value-grid,.local-seo,.real-gallery,.seo-link-hub{background:var(--thn-cream)!important}
