/* VÉLORA child theme: homepage geometry (content width 1288px inside a 1320px container, like velora.vn) */
.gm-r.row, .row.gm-r { max-width: 1320px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; padding-left: 16px !important; padding-right: 16px !important; }
.gm-r > .col { padding: 0 !important; margin: 0; }
.gm-r > .col > .col-inner { height: 100%; }
.section.gm-hero, .section.gm-advertise, .section.gm-ship, .section.gm-gift, .section.gm-cat4, .section.gm-coll, .section.gm-sizesec, .section.gm-news { padding-top: 0; padding-bottom: 0; }

/* Flatsome adds 1em under every image: not in velora */
.gm-r .img, .gm-r .img-inner, .gm-hero .img { margin-bottom: 0 !important; }
.gm-r .col-inner { margin: 0; }

/* hero: 1425 x 572 at a 1440px viewport */
.gm-hero .img img { width: 100%; aspect-ratio: 1425 / 572; object-fit: cover; display: block; }

/* "đồng giá" tiles */
.gm-advertise { background: rgba(246, 237, 224, .29); }
.gm-r > .col.gm-adv__item { padding: 0 16px !important; }
.gm-adv__item .img, .gm-adv__item img { margin: 0; display: block; width: 100%; height: auto; }

/* policy strip */
.gm-ship .gm-r { display: grid; grid-template-columns: repeat(4, 304px); justify-content: space-between; }
.gm-ship .gm-r > .col { max-width: none; width: auto; flex: none; }
.gm-ship__item img { display: block; height: 69px; width: auto; }
.gm-ship__txt { height: 92px; overflow: hidden; }
.gm-ship__txt h4 { font-size: 18px; line-height: 24px; font-weight: 700; text-transform: uppercase; margin: 14px 0 8px; color: var(--gm-ink); }
.gm-ship__txt p { margin: 0; font-size: 16px; line-height: 21px; color: rgba(37, 36, 37, .5); }

/* gift banner */
.gm-gift .img, .gm-gift img { margin: 0; width: 100%; height: auto; display: block; }

/* 4 tiles (sale programmes / materials) */
.gm-cat4 .gm-r { display: grid; grid-template-columns: repeat(4, 300px); justify-content: space-between; }
.gm-cat4 .gm-r > .col { max-width: none; width: auto; flex: none; }
.gm-cat4 .gm-r > .col:nth-child(odd) { padding-top: 32px !important; }
.gm-cat4 .img, .gm-cat4 img { margin: 0; width: 100%; height: auto; display: block; }

/* collections */
.gm-coll .gm-coll__top { display: flex; flex-wrap: nowrap; align-items: center; }
.gm-coll .gm-coll__top > .col { max-width: none; flex: none; }
.gm-coll .gm-coll__cards { flex: 0 0 456px !important; width: 456px; }
.gm-coll .gm-coll__cards > .col-inner { display: flex; flex-direction: column; gap: 31px; }
.gm-coll .gm-coll__right { flex: 1 1 auto !important; width: auto; }
.gm-coll .gm-coll__right > .col-inner { display: flex; align-items: stretch; justify-content: space-between; padding-left: 58px; }
.gm-coll .gm-coll__right .gm-cta { margin-top: 132px; flex: 0 0 auto; align-self: flex-start; }
.gm-coll .gm-coll__right .ux-html, .gm-coll .gm-coll__right > .col-inner > .ux-html { flex: 0 0 auto; }
.gm-coll .gm-coll__img { flex: 0 0 568px; width: 568px; max-width: 100%; margin: 0; }
.gm-coll .gm-coll__img img { width: 100%; height: auto; display: block; }
.gm-coll .gm-coll__list .row-small, .gm-coll .gm-coll__list .row-slider, .gm-coll .gm-coll__list .col .row { margin-left: -9px !important; margin-right: -9px !important; max-width: none !important; width: auto !important; }
/* B: image left, call-to-action overlays it, cards on the right */
.gm-coll--b .gm-coll__right { flex: 0 0 810px !important; width: 810px; margin-left: -16px; position: relative; }
.gm-coll--b .gm-coll__right > .col-inner { padding-left: 0; display: block; position: relative; }
.gm-coll--b .gm-coll__img { flex: none; width: 810px; }
.gm-coll--b .gm-coll__right .gm-cta { position: absolute; left: 577px; top: 37px; margin-top: 0; z-index: 2; }
.gm-coll--b .gm-coll__cards { flex: 0 0 456px !important; width: 456px; margin-left: auto; }
/* C: two staggered vertical cards, portrait image on the right */
.gm-coll--c .gm-coll__top { align-items: flex-start; }
.gm-coll--c .gm-coll__left { flex: 0 0 563px !important; width: 563px; margin-left: -20px; }
.gm-coll--c .gm-coll__left > .col-inner { display: flex; gap: 1px; align-items: flex-start; }
.gm-coll--c .gm-pcol { flex: 0 0 281px; width: 281px; }
.gm-coll--c .gm-pcol:nth-child(1) { margin-top: 155px; }
.gm-coll--c .gm-pcol:nth-child(2) { margin-top: 245px; }
.gm-coll--c .gm-coll__right > .col-inner { padding-left: 4px; }
.gm-coll--c .gm-coll__right .gm-cta { margin-top: 179px; }
.gm-coll--c .gm-coll__right > .col-inner { position: relative; justify-content: flex-end; }
.gm-coll--c .gm-coll__img { flex: 0 0 568px; width: 568px; }
.gm-coll--c .gm-coll__right .gm-cta { position: absolute; left: 0; top: 179px; margin-top: 0; z-index: 2; }

/* size advisor */
.gm-sizesec .gm-sizerow { display: flex; flex-wrap: nowrap; align-items: flex-start; }
.gm-sizerow > .col { max-width: none; flex: none; }
.gm-sizecol { flex: 0 0 429px !important; width: 429px; }
.gm-sizeimg { flex: 0 0 852px !important; width: 852px; margin: 20px -16px 0 23px !important; }
.gm-sizeimg img { width: 100%; height: auto; display: block; }
.gm-size__title { font-size: 18px; line-height: 24px; font-weight: 500; margin: 0 0 32px; text-transform: none; }
.gm-size .gm-range { height: 64px; margin: 0 0 41px; }
.gm-size .gm-range:nth-of-type(2) { margin-bottom: 40px; }
.gm-size .gm-range label { display: flex; justify-content: space-between; font-size: 17px; line-height: 20px; margin: 0 0 14px; color: var(--gm-ink); }
.gm-size .gm-cta { display: inline-flex; margin-bottom: 0; }

/* news */

/* shared page wrapper + breadcrumb (product page, archive) */
.gm-wrap { max-width: 1320px; margin: 0 auto; padding: 0 16px 60px; }
.gm-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; padding: 30px 0 24px; font-size: 16px; line-height: 24px; color: rgba(37, 36, 37, .7); }
.gm-bc a { color: rgba(37, 36, 37, .7); }
.gm-bc a:hover { color: var(--gm-blue); }

/* footer (velora) */
.gm-footer .gm-fr { display: grid; grid-template-columns: repeat(4, 304px); justify-content: space-between; align-items: start; }
.gm-footer .gm-fr > .col { max-width: none; width: auto; flex: none; }
.gm-f1__logo { display: block; width: 158px; height: auto; max-width: none; }
.gm-f1__desc { margin-top: 28px; font-size: 15px; line-height: 21px; color: rgba(37, 36, 37, .75); }
.gm-f1__desc strong { font-weight: 700; }
.gm-f__dot { display: inline-block; width: 10px; height: 10px; margin-right: 5px; background: rgba(37, 36, 37, .6); border-radius: 2px; vertical-align: -1px; }
.gm-f1__soc { display: flex; gap: 14px; margin-top: 30px; }
.gm-f1__soc img { width: 36px; height: 36px; display: block; }
.gm-f__t { margin: 0; font-size: 16px; line-height: 19px; font-weight: 600; text-transform: uppercase; color: rgba(37, 36, 37, .75); letter-spacing: 0; }
.gm-f__t a { color: inherit; }
.gm-f__l { list-style: none; margin: 28px 0 0 !important; padding: 0 !important; }
.gm-f__l li { margin: 16px 0 0 !important; list-style: none; font-size: 16px; line-height: 19px; }
.gm-f__l li:first-child { margin-top: 0 !important; }
.gm-f__l a { color: rgba(37, 36, 37, .75); }
.gm-f__l a:hover { color: var(--gm-blue); }
.gm-f__2 { display: flex; }
.gm-f__2 .gm-f__l { flex: 0 0 164px; width: 164px; }
.gm-f__pay { list-style: none; margin: 26px 0 0 !important; padding: 0 !important; display: flex; gap: 4px; }
.gm-f__pay li { margin: 0 !important; list-style: none; }
.gm-f__pay img { display: block; width: 44px; height: 28px; }
.gm-f__div { margin-top: 46px; border-top: .8px solid rgba(37, 36, 37, .3); }
.gm-f__bottom { display: flex; justify-content: space-between; align-items: center; height: 44px; margin-top: 14px; font-size: 16px; line-height: 21px; }
.gm-f__bottom img { display: block; width: 116px; height: 44px; }
.absolute-footer { display: none !important; }
@media (max-width: 849px) { .gm-footer .gm-fr { grid-template-columns: 1fr; gap: 32px; } }


/* ============================================================= responsive (velora breakpoints: tablet 768-1199, mobile <=767) */
.gm-more-row { display: none; }
@media (max-width: 1199px) {
  .gm-r.row, .row.gm-r { max-width: 960px !important; padding-left: 24px !important; padding-right: 24px !important; }
  .gm-coll .gm-coll__list .col .row { margin-left: -6px !important; margin-right: -6px !important; }
}
@media (max-width: 991px) {
  .gm-r.row, .row.gm-r { max-width: 720px !important; }
}
@media (max-width: 1199px) {
  /* hero artwork ratios */
  .gm-hero.show-for-medium .img img { aspect-ratio: 819 / 630; }
  /* advertise: horizontal snap slider (2 per view) */
  .gm-advertise .gm-r { scroll-padding-left: 24px; display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .gm-advertise .gm-r::-webkit-scrollbar { display: none; }
  .gm-r > .col.gm-adv__item { flex: 0 0 50%; max-width: 50%; padding: 0 10px !important; scroll-snap-align: start; }
  /* policy strip: 4 columns */
  .gm-ship .gm-r { grid-template-columns: repeat(4, 1fr); gap: 24px; justify-content: stretch; }
  .gm-ship__txt { height: auto; min-height: 0; }
  .gm-ship__item img { height: 56px; }
  .gm-ship__txt h4 { font-size: 16px; line-height: 20px; margin: 10px 0 8px; }
  .gm-ship__txt p { font-size: 14px; line-height: 19px; }
  /* gift banner full bleed */
  .gm-gift .gm-r.row { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
  .gm-gift .img img { height: 270px; object-fit: cover; }
}
@media (max-width: 767px) {
  .gm-gift .img img { height: auto; }
}
@media (max-width: 1199px) {
  /* 2-column tiles */
  .gm-cat4 .gm-r { grid-template-columns: repeat(2, 1fr); column-gap: 30px; row-gap: 32px; justify-content: stretch; }
  .gm-cat4 .gm-r > .col:nth-child(odd) { padding-top: 32px !important; }
  /* collections: stacked, image first then cards, then slider */
  .gm-coll .gm-coll__top { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .gm-coll .gm-coll__cards, .gm-coll--b .gm-coll__cards, .gm-coll--c .gm-coll__left { flex: 0 0 auto !important; width: 100% !important; margin: 0 !important; order: 2; }
  .gm-coll .gm-coll__right, .gm-coll--b .gm-coll__right { flex: 0 0 auto !important; width: 100% !important; margin: 0 !important; order: 1; position: relative; }
  .gm-coll .gm-coll__cards > .col-inner { flex-direction: row; gap: 24px; margin-top: 24px; }
  .gm-coll .gm-coll__cards .gm-pcol { flex: 1 1 0; min-width: 0; }
  .gm-coll .gm-coll__right > .col-inner { padding-left: 0; display: block; position: relative; }
  .gm-coll .gm-coll__img, .gm-coll--b .gm-coll__img, .gm-coll--c .gm-coll__img { flex: none; width: 62% !important; margin-left: auto !important; }
  .gm-coll .gm-coll__right .gm-cta, .gm-coll--b .gm-coll__right .gm-cta, .gm-coll--c .gm-coll__right .gm-cta { position: absolute; left: 10px; top: 80px; margin: 0; z-index: 2; }
  .gm-coll--c .gm-coll__left > .col-inner { flex-direction: row; gap: 24px; margin-top: 24px; }
  .gm-coll--c .gm-pcol:nth-child(1), .gm-coll--c .gm-pcol:nth-child(2) { margin-top: 0; width: auto; flex: 1 1 0; }
  .gm-coll--c .gm-pcol--col .gm-pcol__thumb a { height: 300px; }
  .gm-coll .gm-coll__list .product-small.col { padding-left: 6px; padding-right: 6px; }
  .gm-more-row { display: block; }
  .gm-more { display: inline-flex; align-items: center; justify-content: center; width: 148px; height: 50px; border: .8px solid var(--gm-blue); border-radius: 999px; color: #000; font-size: 16px; margin: 8px auto 0; }
  .gm-more-row .col-inner { text-align: center; }
  /* size advisor + news */
  .gm-sizesec .gm-sizerow { flex-direction: column; flex-wrap: nowrap; }
  .gm-sizecol, .gm-sizeimg { flex: 0 0 auto !important; width: 100% !important; margin: 0 !important; }
  .gm-sizeimg { margin-top: 32px !important; }
  /* footer: 2 x 2 */
  .gm-footer .gm-fr { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
}
@media (max-width: 767px) {
  .gm-r.row, .row.gm-r { max-width: 100% !important; }
  .gm-hero.show-for-small .img img { aspect-ratio: 390 / 743; }
  /* phone: compact tiles (about 2.2 per view) so the next one peeks out and invites a swipe */
  .gm-r > .col.gm-adv__item { flex: 0 0 48%; max-width: 48%; padding: 0 6px !important; scroll-snap-align: start; }
  .gm-advertise .gm-r { padding: 0 24px !important; scroll-padding-left: 24px; }
  .gm-advertise .gm-r > .col.gm-adv__item:first-child { padding-left: 0 !important; }
  .gm-advertise .gm-r > .col.gm-adv__item:last-child { padding-right: 0 !important; }
  .gm-ship--m .gm-r { grid-template-columns: repeat(2, 1fr); gap: 24px 20px; }
  .gm-ship--m .gm-ship__item img { height: 56px; }
  .gm-cat4 .gm-r { column-gap: 30px; }
  .gm-coll .gm-coll__cards { display: none !important; }
  .gm-coll .gm-coll__img, .gm-coll--b .gm-coll__img, .gm-coll--c .gm-coll__img { width: 351px !important; max-width: none; margin-right: -24px !important; }
  .gm-coll--c .gm-coll__left { display: none; }
  .gm-coll .gm-coll__right .gm-cta, .gm-coll--b .gm-coll__right .gm-cta, .gm-coll--c .gm-coll__right .gm-cta { top: 24px; left: 0; }
  .gm-footer .gm-fr { grid-template-columns: 1fr; gap: 36px; }
  .product-small .name.product-title, .product-small .name.product-title a { font-size: 14px; line-height: 17px !important; }
  .gm-sku { font-size: 11px; line-height: 21px; margin-top: 8px; }
  .product-small .price { font-size: 16px; line-height: 18px; }
  .product-small .price del { font-size: 13px; line-height: 16px; }
  .product-small .price-wrapper { margin-top: 12px; }
}


/* ============================================================= header on tablet / phone + bottom tab bar */
.gm-bottom-nav { display: none; }
@media (max-width: 1199px) {
  #masthead.header-main .header-inner, .header-top .flex-row.container { max-width: 960px; padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 991px) {
  #masthead.header-main .header-inner, .header-top .flex-row.container { max-width: 720px; }
}
@media (max-width: 849px) {
  /* top bar: blue hotline block + dark right part with search (+ menu on tablet) */
  .header-top { display: block !important; background: linear-gradient(90deg, #765348 78%, #252425 78%); min-height: 50px; }
  .header-top .flex-row.container { min-height: 50px; display: flex; align-items: center; }
  .header-top .flex-left, .header-top .flex-center, .header-top .flex-right { display: none; }
  .header-top .show-for-medium { display: flex !important; align-items: center; flex: 1 1 auto; }
  .header-top .mobile-nav { display: flex; width: 100%; align-items: center; justify-content: flex-start; margin: 0; }
  .header-top .mobile-nav li { margin: 0; }
  .header-top .mobile-nav > li.header-search { margin-left: auto; }
  .header-top .gm-hotline { padding-right: 0; }
  .header-top .mobile-nav a { color: #fff; }
  .header-top .mobile-nav .header-search a, .header-top .mobile-nav .nav-icon a { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
  /* main bar: logo left, icons right */
  #masthead.header-main { height: 68px; }
  #masthead .header-inner { height: 68px; }
  #masthead .header-inner .logo { order: -1; margin: 0 auto 0 0 !important; width: auto !important; flex: 0 0 auto; }
  #masthead .header-inner .flex-left.show-for-medium { display: none !important; }
  #masthead #logo img { width: 140px; max-height: none; }
  #masthead .flex-right.show-for-medium { margin-left: auto; }
  #masthead .mobile-nav { align-items: center; gap: 8px; }
  #masthead .mobile-nav > li { margin: 0; }
  #masthead .mobile-nav .nav-icon a { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; }
  #masthead .mobile-nav .nav-icon i { color: var(--gm-ink); font-size: 24px; }
  .header-top .mobile-nav .nav-icon { display: inline-flex; }
  #masthead .mobile-nav .nav-icon { display: none; }
  .header-main .mobile-nav > li.cart-item > a.header-cart-link { width: 32px; height: 32px; }
}
@media (max-width: 767px) {
  .header-top, #top-bar { height: 39px !important; min-height: 39px; background: linear-gradient(90deg, #765348 66%, #252425 66%); }
  .header-top .flex-row.container { min-height: 39px; height: 39px; padding-left: 24px; padding-right: 24px; }
  .header-top .gm-hotline { font-size: 14px !important; }
  .gm-coll__list .col.product-small { flex: 0 0 146px !important; width: 146px !important; max-width: 146px !important; }
  .header-top .mobile-nav .nav-icon { display: none; }
  #masthead .header-inner { padding-left: 24px; padding-right: 24px; }
  #masthead .mobile-nav > li.html, #masthead .mobile-nav > li.cart-item { display: none; }
  #masthead .mobile-nav .nav-icon { display: inline-flex; }
  body { padding-bottom: 60px; }
  .gm-bottom-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; height: 60px; display: grid; grid-template-columns: repeat(5, 1fr); background: #fff; box-shadow: 0 -2px 12px rgba(0, 0, 0, .08); }
  .gm-bottom-nav__item { display: flex; align-items: center; justify-content: center; }
  .gm-bottom-nav__item img { width: 25px; height: 25px; display: block; }
  .gm-bottom-nav__item.is-active { background: rgba(118, 83, 72, .1); }
  .back-to-top { bottom: 76px !important; }
}
