/*
 * Tiệm Hoa Nắng — Storefront CRO layer
 * Compact international floral-commerce rhythm.
 */
:root{
  --cro-ink:#171717;
  --cro-muted:#6f6964;
  --cro-line:#e9e4de;
  --cro-soft:#fbfaf8;
  --cro-brand:#8f3049;
  --cro-brand-dark:#742339;
  --cro-gold:#b58c3b;
  --cro-radius:14px;
}

/* Header */
@media(min-width:821px){
  .site-header{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #eeeae5!important}
  .header-main{min-height:68px!important;gap:28px!important}
  .brand__mark{width:44px!important;height:44px!important}
  .brand__text strong{font-size:15px!important;line-height:1.1!important}
  .brand__text small{margin-top:3px!important;font-size:10.5px!important;color:#777!important}
  .desktop-nav a{font-size:12.5px!important;font-weight:600!important;letter-spacing:.01em!important}
  .header-order-cta{display:inline-flex!important;min-height:38px!important;align-items:center!important;justify-content:center!important;padding:0 15px!important;border-radius:999px!important;background:var(--cro-brand)!important;color:#fff!important;font:700 11px/1 "Inter",Arial,sans-serif!important;letter-spacing:.045em!important;text-decoration:none!important;white-space:nowrap!important}
  .header-order-cta:hover{background:var(--cro-brand-dark)!important;color:#fff!important}
}
@media(max-width:820px){.header-order-cta{display:none!important}}

/* Overall landing-page rhythm */
.home-page .home-section,
.home-page .category-strip{padding-top:48px!important;padding-bottom:48px!important}
.home-page .section-title{margin-bottom:22px!important}
.home-page .section-title h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.12!important}
.home-page .section-kicker{margin-bottom:6px!important}
@media(max-width:820px){
  .home-page .home-section,
  .home-page .category-strip{padding-top:34px!important;padding-bottom:34px!important}
  .home-page .section-title{margin-bottom:18px!important}
  .home-page .section-title h2{font-size:28px!important}
}

/* Hero: shorter, cleaner first screen */
.home-page .hero-banner{min-height:clamp(470px,56vh,610px)!important}
.home-page .hero-banner h1{font-size:clamp(44px,4.8vw,66px)!important}
.home-page .hero-banner__content{padding-top:42px!important;padding-bottom:42px!important}
.home-page .hero-banner__subtitle{margin-top:14px!important;font-size:15px!important}
.home-page .hero-banner .cta-primary{min-height:48px!important;margin-top:20px!important}
.hero-copy-lines span{display:inline}
.hero-copy-lines span + span::before{content:" · "}
.home-page .hero-banner h1,
.home-page .section-title h2,
.home-page .collection-row__head h2,
.home-page .local-seo h2,
.home-page .faq-section h2,
.tamky-page-v3 .tamky-service-area h3{text-wrap:balance!important}
.home-page .section-title p,
.home-page .collection-row__head p,
.home-page .local-seo p,
.home-page .faq-section p,
.tamky-page-v3 .tamky-service-area p{text-wrap:pretty!important}
@media(max-width:820px){
  .home-page .hero-banner{min-height:clamp(440px,64svh,530px)!important}
  .home-page .hero-banner__content{padding-bottom:28px!important}
  .home-page .hero-banner h1{font-size:clamp(34px,9.6vw,46px)!important;white-space:nowrap!important}
  .home-page .hero-banner__subtitle,
  .tamky-page-v3 .tamky-hero-subtitle{max-width:none!important;font-size:clamp(14px,3.8vw,16px)!important;line-height:1.5!important}
  .hero-copy-lines span{display:block!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important}
  .hero-copy-lines span + span{margin-top:2px!important}
  .hero-copy-lines span + span::before{content:none!important}
}

/* Occasion navigation */
.home-page .category-grid{gap:18px!important}
.home-page .category-card__image{box-shadow:0 4px 16px rgb(36 27 20 / 5%)!important}
@media(min-width:821px){
  .home-page .category-strip .container{max-width:1040px!important}
}

/* Google reviews — text-first, one row */
.review-luxe.review-luxe--text{padding:42px 0 44px!important;background:var(--cro-soft)!important;border-top:1px solid #f0ece7!important;border-bottom:1px solid #f0ece7!important}
.review-luxe--text .review-luxe__heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:28px!important;max-width:none!important;margin:0 0 20px!important;text-align:left!important}
.review-luxe--text .review-luxe__eyebrow{margin:0 0 5px!important;color:#817970!important;font:700 10px/1.2 "Inter",Arial,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.review-luxe--text .review-luxe__heading h2{max-width:18ch!important;margin:0!important;font-size:clamp(28px,3vw,38px)!important;line-height:1.08!important}
.review-luxe--text .review-luxe__summary{flex:0 0 auto!important;margin:0!important;min-height:36px!important;gap:6px!important;font-size:13px!important}
.review-luxe--text .review-luxe__score{font-size:22px!important}
.review-luxe--text .review-luxe__viewport{overflow:hidden!important}
.review-luxe--text .review-luxe__track{display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;scrollbar-width:none!important;padding:2px!important}
.review-luxe--text .review-luxe__track::-webkit-scrollbar{display:none!important}
.review-luxe--text .review-luxe__card{flex:0 0 calc((100% - 28px)/3)!important;min-height:210px!important;scroll-snap-align:start!important;padding:19px!important;border:1px solid var(--cro-line)!important;border-radius:var(--cro-radius)!important;background:#fff!important;box-shadow:0 5px 18px rgb(36 27 20 / 4%)!important}
.review-luxe--text .review-luxe__card-top{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
.review-luxe--text .review-luxe__avatar{display:grid!important;width:38px!important;height:38px!important;place-items:center!important;border-radius:50%!important;background:#f0ebe5!important;color:#6f5a4a!important;font:700 11px/1 "Inter",Arial,sans-serif!important}
.review-luxe--text .review-luxe__identity{min-width:0!important}
.review-luxe--text .review-luxe__name{overflow:hidden!important;margin:0!important;font-size:16px!important;line-height:1.2!important;text-align:left!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.review-luxe--text .review-luxe__trust{display:block!important;margin:4px 0 0!important;padding:0!important;background:none!important;color:#8a827b!important;font:500 10px/1.35 "Inter",Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important}
.review-luxe--text .review-luxe__source{padding:4px 7px!important;border:1px solid #e7e0d8!important;border-radius:999px!important;color:#746c65!important;font:600 9.5px/1 "Inter",Arial,sans-serif!important}
.review-luxe--text .review-luxe__stars{justify-content:flex-start!important;margin:13px 0 0!important}
.review-luxe--text .review-luxe__star{width:13px!important;height:13px!important}
.review-luxe--text .review-luxe__text{display:-webkit-box!important;max-width:none!important;margin:11px 0 0!important;overflow:hidden!important;color:#49433f!important;font:400 14px/1.6 "Inter",Arial,sans-serif!important;font-style:normal!important;text-align:left!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important}
.review-luxe--text .review-luxe__bar{display:grid!important;grid-template-columns:auto minmax(90px,180px) 1fr!important;align-items:center!important;gap:14px!important;margin-top:16px!important}
.review-luxe--text .review-luxe__nav{display:flex!important;gap:7px!important}
.review-luxe--text .review-luxe__arrow{display:grid!important;width:36px!important;height:36px!important;place-items:center!important;padding:0!important;border:1px solid #dcd5ce!important;border-radius:50%!important;background:#fff!important;color:var(--cro-ink)!important;font-size:16px!important;cursor:pointer!important}
.review-luxe--text .review-luxe__arrow:disabled{opacity:.28!important;cursor:default!important}
.review-luxe--text .review-luxe__progress{position:relative!important;display:block!important;width:100%!important;height:2px!important;margin:0!important;overflow:hidden!important;border-radius:999px!important;background:#e4ddd6!important}
.review-luxe--text .review-luxe__progress span{position:absolute!important;inset-block:0!important;left:var(--review-thumb-left,0%)!important;width:var(--review-thumb-width,50%)!important;border-radius:inherit!important;background:#75695f!important}
.review-luxe--text .review-luxe__cta{justify-self:end!important;min-height:36px!important;font-size:10.5px!important}
@media(max-width:820px){
  .review-luxe.review-luxe--text{padding:28px 0 30px!important}
  .review-luxe--text .review-luxe__heading{display:block!important;margin-bottom:14px!important;text-align:left!important}
  .review-luxe--text .review-luxe__heading h2{max-width:15ch!important;font-size:26px!important}
  .review-luxe--text .review-luxe__summary{justify-content:flex-start!important;margin-top:7px!important;font-size:12px!important}
  .review-luxe--text .review-luxe__score{font-size:19px!important}
  .review-luxe--text .review-luxe__card{flex-basis:min(84vw,310px)!important;min-height:196px!important;padding:16px!important}
  .review-luxe--text .review-luxe__text{font-size:13.5px!important;line-height:1.52!important;-webkit-line-clamp:4!important}
  .review-luxe--text .review-luxe__bar{grid-template-columns:auto minmax(70px,1fr)!important;gap:12px!important}
  .review-luxe--text .review-luxe__cta{grid-column:1/-1!important;justify-self:start!important;margin-top:-2px!important}
  .review-luxe--text .review-luxe__arrow{width:34px!important;height:34px!important}
}

/* Product shelves: less vertical drift, stronger commerce hierarchy */
.home-page .product-collections{padding-top:44px!important;padding-bottom:44px!important}
.home-page .product-collections__intro{margin-bottom:0!important}
.home-page .collection-row{margin-top:48px!important}
.home-page .collection-row:first-of-type{margin-top:22px!important}
.home-page .collection-row__head{margin-bottom:18px!important;padding-bottom:12px!important}
.home-page .collection-row__head h2{font-size:clamp(27px,2.6vw,36px)!important}
.home-page .product-grid--home{gap:28px 14px!important}
.home-page .product-card__image{border-radius:10px!important}
.product-card__body{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:0!important;
  text-align:center!important;
}
.product-card__title{
  width:100%!important;
  margin:12px 0 0!important;
  text-align:center!important;
  line-height:1.35!important;
}
.product-card__title a{
  display:-webkit-box!important;
  overflow:hidden!important;
  text-align:center!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.product-card__price{
  width:100%!important;
  margin:6px 0 0!important;
  text-align:center!important;
  line-height:1.25!important;
}
.product-card__price .price,
.product-card__price ins,
.product-card__price del{
  text-align:center!important;
}
.home-page .product-card__title{font-size:17px!important}
.home-page .product-card__price{font-size:15px!important}
.home-page .collection-row__more{max-width:300px!important;min-height:44px!important;margin:24px auto 0!important;padding:10px 18px!important}
@media(max-width:820px){
  .home-page .product-collections{padding-top:34px!important;padding-bottom:34px!important}
  .home-page .collection-row{margin-top:40px!important}
  .home-page .collection-row:first-of-type{margin-top:16px!important}
  .home-page .collection-row__head h2{font-size:26px!important}
  .home-page .product-grid--home{gap:24px 10px!important}
  .home-page .product-card__title{
    min-height:0!important;
    margin-top:9px!important;
    font-size:15px!important;
  }
  .home-page .product-card__price{
    margin-top:2px!important;
    font-size:14px!important;
  }
  .home-page .collection-row__more{min-height:44px!important;margin-top:22px!important}
}

/* Two-step ordering — compact horizontal trust flow */
.home-page .value-grid{background:#fff!important}
.home-page .value-grid .section-title{margin-bottom:18px!important}
.home-page .value-grid__items{max-width:900px!important;gap:12px!important}
.home-page .value-card--step{display:grid!important;grid-template-columns:42px 1fr!important;grid-template-rows:auto auto!important;column-gap:14px!important;min-height:0!important;padding:20px!important;border-radius:12px!important;background:#faf9f7!important}
.home-page .value-card--step .value-card__icon{grid-row:1/3!important;width:42px!important;height:42px!important;margin:0!important}
.home-page .value-card--step h3{margin:0!important;font-size:20px!important;line-height:1.2!important}
.home-page .value-card--step p{margin:6px 0 0!important;font-size:13px!important;line-height:1.55!important}
@media(max-width:620px){
  .home-page .value-card--step{grid-template-columns:36px 1fr!important;padding:17px!important}
  .home-page .value-card--step .value-card__icon{width:36px!important;height:36px!important}
  .home-page .value-card--step h3{font-size:18px!important}
}

/* Local SEO + FAQ: useful, but visually secondary */
.home-page .local-seo__grid{gap:clamp(28px,5vw,64px)!important;padding-top:30px!important;padding-bottom:30px!important}
.home-page .local-seo h2{font-size:clamp(28px,3vw,38px)!important}
.home-page .local-seo__grid>div:last-child>p{font-size:14px!important;line-height:1.7!important}
.home-page .faq-section__grid{max-width:1040px!important;margin:0 auto!important;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)!important;gap:48px!important}
.home-page .faq-list details{padding:15px 0!important}
.home-page .faq-list summary{font-size:14px!important}
.home-page .faq-list details p{font-size:12.5px!important}
@media(max-width:820px){
  .home-page .local-seo__grid,
  .home-page .faq-section__grid{grid-template-columns:1fr!important;gap:20px!important}
  .home-page .local-seo h2{max-width:none!important;font-size:28px!important}
}

/* Helpful content: no longer looks like another product grid */
.home-page .seo-link-hub__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.home-page .seo-link-hub__grid a{min-height:118px!important;padding:16px!important;border-radius:10px!important}
.home-page .seo-link-hub__grid strong{font-size:17px!important}
.home-page .seo-link-hub__grid span{font-size:11.5px!important}
@media(max-width:820px){
  .home-page .seo-link-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-page .seo-link-hub__grid a{min-height:106px!important;padding:14px!important}
}

/* Footer */
.site-footer{background:#f8f6f3!important;border-top:1px solid var(--cro-line)!important}
.footer-grid{gap:34px!important;padding-top:46px!important;padding-bottom:34px!important}
.site-footer h2{font-size:14px!important;font-family:"Inter",Arial,sans-serif!important;font-weight:700!important}
.footer-menu a,.footer-brand p{font-size:12.5px!important;line-height:1.65!important}
.footer-locations{padding-top:24px!important;padding-bottom:22px!important;border-top:1px solid var(--cro-line)!important}
.footer-location-card{padding:16px!important;border:1px solid var(--cro-line)!important;background:#fff!important}
.footer-bottom{padding-top:18px!important;padding-bottom:20px!important;font-size:11px!important}

/* Mobile navigation + original floating contact */
.contact-float__label,
.contact-float__shop{display:none!important}

@media(max-width:820px){
  body{padding-bottom:0!important}

  /* The hamburger sits in the left grid column, so anchor the opened panel
     to the viewport instead of right:0 on the hamburger itself. */
  .mobile-menu{position:static!important}
  .mobile-menu:not([open]) .mobile-menu__panel{display:none!important}
  .mobile-menu[open]::before{
    content:""!important;
    position:fixed!important;
    inset:64px 0 0!important;
    z-index:1180!important;
    background:rgba(23,23,23,.16)!important;
    pointer-events:none!important;
  }
  .mobile-menu>summary{position:relative!important;z-index:1210!important}
  .mobile-menu__panel{
    position:fixed!important;
    top:64px!important;
    left:12px!important;
    right:12px!important;
    z-index:1200!important;
    width:auto!important;
    max-height:calc(100dvh - 80px)!important;
    overflow-y:auto!important;
    padding:16px 18px 18px!important;
    border:1px solid #e7e1db!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 18px 46px rgba(20,20,20,.16)!important;
  }
  .mobile-menu__panel .menu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
  }
  .mobile-menu__panel .menu a{
    display:block!important;
    width:100%!important;
    padding:13px 2px!important;
    border-bottom:1px solid #eee9e4!important;
    font-size:14px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  .mobile-menu__shop,
  .mobile-menu__zalo{
    width:100%!important;
    min-height:44px!important;
    margin-top:12px!important;
    border-radius:8px!important;
  }

  /* Restore the previous two circular quick-contact buttons. */
  .contact-float{
    position:fixed!important;
    left:auto!important;
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    z-index:1100!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    width:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .contact-float a{
    display:flex!important;
    width:52px!important;
    height:52px!important;
    min-height:52px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border-radius:50%!important;
    box-shadow:0 8px 24px rgba(20,20,20,.14)!important;
    text-decoration:none!important;
  }
  .contact-float__phone{
    background:var(--cro-brand)!important;
    color:#fff!important;
    border:1px solid var(--cro-brand)!important;
  }
  .contact-float__zalo{
    background:var(--cro-brand)!important;
    color:#fff!important;
    border:1px solid var(--cro-brand)!important;
  }
  .contact-float__zalo-wordmark{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
    font:700 14px/1 Arial,sans-serif!important;
    letter-spacing:-.35px!important;
  }
}

/* v1.2 — one heading alignment system + uncropped brand mark */
.home-page .section-title,
.home-page .section-title--center,
.home-page .product-collections__intro,
.home-page .value-grid .section-title,
.home-page .seo-link-hub .section-title,
.home-page .faq-section .section-title,
.home-page .local-seo .section-title,
.tamky-page-v3 .section-title,
.tamky-page-v3 .section-title--center{
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  justify-items:start!important;
  align-items:flex-start!important;
}
.home-page .section-title h2,
.home-page .section-title p,
.tamky-page-v3 .section-title h2,
.tamky-page-v3 .section-title p{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
.home-page .section-kicker,
.tamky-page-v3 .section-kicker{
  text-align:left!important;
}

/* Occasion cards can remain centered; the section heading itself stays left. */
.home-page .category-card,
.tamky-page-v3 .category-card{
  text-align:center!important;
  align-items:center!important;
}

/* Brand mark: show the whole original artwork, never crop it. */
.brand__mark--image{
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
}
.brand__mark--image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
.site-header .brand__mark{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media(min-width:821px){
  .site-header .brand__mark{width:46px!important;height:46px!important;flex:0 0 46px!important}
}
@media(max-width:820px){
  .site-header .brand__mark{width:44px!important;height:44px!important;flex:0 0 44px!important}
  .site-header .brand{min-width:0!important}
}

/* Mobile quick-pick: restore compact circular cards; keep only a subtle swipe hint. */
@media(max-width:820px){
  .home-page .category-strip .container{
    overflow:hidden!important;
  }
  .home-page .category-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:118px!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    margin:0!important;
    padding:4px 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .home-page .category-grid::-webkit-scrollbar{display:none!important}
  .home-page .category-card{
    width:118px!important;
    min-width:118px!important;
    scroll-snap-align:start!important;
    text-align:center!important;
  }
  .home-page .category-card__image{
    width:112px!important;
    height:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    aspect-ratio:1/1!important;
    margin-inline:auto!important;
    overflow:hidden!important;
    border-radius:50%!important;
  }
  .home-page .category-card__image img{
    width:112px!important;
    height:112px!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    border-radius:50%!important;
  }
  .home-page .category-card strong{
    margin-top:10px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .home-page .category-strip .container::after{
    content:""!important;
    display:block!important;
    width:min(190px,48vw)!important;
    height:4px!important;
    margin:12px auto 0!important;
    border-radius:999px!important;
    background:
      linear-gradient(
        90deg,
        #dedede 0 var(--category-thumb-left,0%),
        #243140 var(--category-thumb-left,0%) calc(var(--category-thumb-left,0%) + var(--category-thumb-width,34%)),
        #dedede calc(var(--category-thumb-left,0%) + var(--category-thumb-width,34%)) 100%
      )!important;
  }
}

/* Keep all primary editorial H2s on the same left edge on mobile. */
@media(max-width:820px){
  .home-page .section-title,
  .tamky-page-v3 .section-title{
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .home-page .value-grid .section-title,
  .home-page .seo-link-hub .section-title,
  .home-page .faq-section .section-title{
    text-align:left!important;
  }
}

/* Tam Kỳ local-area SEO block */
.tamky-service-areas{
  background:#fbfaf8!important;
  border-top:1px solid #f0ece7!important;
  border-bottom:1px solid #f0ece7!important;
}
.tamky-service-areas .section-title{
  max-width:820px!important;
  margin-bottom:22px!important;
}
.tamky-service-areas__intro{
  max-width:780px!important;
  margin:12px 0 0!important;
  color:#625b55!important;
  font:400 14px/1.7 "Inter",Arial,sans-serif!important;
}
.tamky-service-areas__grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.tamky-service-area{
  min-width:0!important;
  padding:18px!important;
  border:1px solid #e8e1da!important;
  border-radius:12px!important;
  background:#fff!important;
}
.tamky-service-area h3{
  margin:0!important;
  color:#171717!important;
  font:500 19px/1.25 "Playfair Display",Georgia,serif!important;
}
.tamky-service-area p{
  margin:8px 0 0!important;
  color:#625b55!important;
  font:400 13px/1.6 "Inter",Arial,sans-serif!important;
}
@media(max-width:1000px){
  .tamky-service-areas__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .tamky-service-areas__grid{grid-template-columns:1fr!important;gap:10px!important}
  .tamky-service-area{padding:16px!important}
  .tamky-service-area h3{font-size:18px!important}
  .tamky-service-areas__intro{font-size:13.5px!important}
}
