/* BUYIT CMS: additive styles; original website CSS remains intact. */
.cms-primary-nav .cms-menu-root{display:flex;align-items:center;gap:clamp(5px,.75vw,16px);margin:0;padding:0;list-style:none}
.cms-primary-nav .cms-menu-node{position:relative;margin:0;list-style:none}
.cms-primary-nav .cms-menu-item-row{display:flex;align-items:center;gap:2px;white-space:nowrap}
.cms-primary-nav .cms-menu-item-row>a{display:inline-flex;align-items:center;min-height:42px;padding:8px 5px;color:#3b2616;text-decoration:none;line-height:1.4;font-weight:800}
.cms-primary-nav .cms-menu-item-row>a:hover,.cms-primary-nav .cms-menu-item-row>a:focus-visible{color:#a53220}
.cms-primary-nav .cms-menu-item-row>.cms-menu-line{background:linear-gradient(135deg,#16b947,#078b2f);color:#fff!important;padding:9px 15px;border-radius:999px;box-shadow:0 8px 18px rgba(13,152,53,.22)}
.cms-primary-nav .cms-submenu-toggle{background:transparent;border:0;padding:7px 3px;color:#80553a;cursor:pointer;font-size:1.1rem;line-height:1;transition:transform .2s}
.cms-primary-nav .cms-has-children.is-open>.cms-menu-item-row .cms-submenu-toggle{transform:rotate(180deg)}
.cms-primary-nav .cms-submenu{list-style:none;position:absolute;top:calc(100% - 3px);left:0;min-width:220px;max-width:min(340px,90vw);display:none;margin:0;padding:9px;background:#fffaf1;border:1px solid #ddc8a6;border-radius:15px;box-shadow:0 22px 45px rgba(32,20,13,.18);z-index:1100;max-height:70vh;overflow:auto}
.cms-primary-nav .cms-submenu .cms-submenu{top:0;left:calc(100% - 4px)}
.cms-primary-nav .cms-submenu .cms-menu-item-row>a{flex:1;white-space:normal;font-size:.87rem;line-height:1.35;padding:10px 8px}
.cms-primary-nav .cms-submenu .cms-menu-node:hover>.cms-menu-item-row{background:#f0e0c6;border-radius:9px}
@media (hover:hover){.cms-primary-nav .cms-has-children:hover>.cms-submenu{display:block}}
.cms-primary-nav .cms-has-children:focus-within>.cms-submenu,.cms-primary-nav .cms-has-children.is-open>.cms-submenu{display:block}
.cms-footer-credits{padding-top:19px;padding-bottom:7px;margin-top:19px;border-top:1px solid rgba(255,255,255,.13);text-align:center;color:#c8baaa;font-size:.82rem;position:relative}
.cms-footer-links{padding-bottom:17px}
.cms-footer-links .cms-menu-root,.cms-footer-links .cms-submenu{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;margin:0;padding:0;list-style:none}
.cms-footer-links .cms-menu-item-row{display:inline-flex;align-items:center;gap:7px}
.cms-footer-links a{color:#d6c5ab;text-decoration:none;font-size:.83rem;font-weight:750}
.cms-footer-links a:hover,.cms-footer-links a:focus-visible{color:#ffe0a0;text-decoration:underline}
.cms-footer-links .cms-submenu-toggle{background:transparent;border:0;color:#d6c5ab;cursor:pointer}
.cms-footer-links .cms-submenu{display:none;margin-left:12px}
.cms-footer-links .is-open>.cms-submenu,.cms-footer-links .cms-menu-node:focus-within>.cms-submenu{display:flex}
.cms-footer-credits .cms-partner-credits{margin:6px 0 0;color:#b9ae9f;font-size:.8rem;line-height:2}
.cms-footer-credits .cms-partner-credits a{color:#ffcf72;text-decoration:underline;text-decoration-color:rgba(255,207,114,.42);text-underline-offset:3px;font-weight:900}
.cms-footer-credits .cms-partner-credits a:hover{color:#fff;text-decoration-color:#fff}
.cms-footer-credits .cms-partner-credits span{padding:0 5px;color:#807466}
@media(max-width:1150px){
  .nav-toggle{display:block!important}
  .primary-nav.cms-primary-nav{position:absolute;left:16px;right:16px;top:calc(100% - 2px);display:none!important;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#fffaf0;border:1px solid rgba(74,43,22,.16);border-radius:0 0 16px 16px;box-shadow:0 25px 45px rgba(43,27,15,.18);max-height:calc(100dvh - 90px);overflow:auto}
  .primary-nav.cms-primary-nav.open{display:flex!important}
  .cms-primary-nav .cms-menu-root{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .cms-primary-nav .cms-menu-node{width:100%}
  .cms-primary-nav .cms-menu-item-row{white-space:normal;justify-content:space-between;border-bottom:1px solid rgba(75,43,21,.08)}
  .cms-primary-nav .cms-menu-item-row>a{padding:13px;flex:1;min-width:0}
  .cms-primary-nav .cms-submenu-toggle{padding:12px;min-width:44px;min-height:44px}
  .cms-primary-nav .cms-submenu,.cms-primary-nav .cms-submenu .cms-submenu{position:static;min-width:0;max-width:none;max-height:none;display:none;padding:2px 8px 8px 18px;margin:0;box-shadow:none;border:0;border-left:3px solid #ddbc7b;border-radius:0;background:transparent;overflow:visible}
  .cms-primary-nav .cms-has-children:hover>.cms-submenu{display:none}
  .cms-primary-nav .cms-has-children.is-open>.cms-submenu{display:block}
  .cms-primary-nav .cms-menu-item-row>.cms-menu-line{justify-content:center;text-align:center;margin:8px 0}
}
@media(max-width:560px){.cms-footer-credits .cms-partner-credits{font-size:.72rem}.cms-footer-links .cms-menu-root{gap:9px 13px}}
/* Deep submenus expand inline in the scrollable first dropdown, rather than clipping sideways. */
@media(min-width:1151px){
  .cms-primary-nav .cms-submenu .cms-submenu{position:static;top:auto;left:auto;min-width:0;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-left:2px solid #d8b77f;background:#fff8e9;margin:3px 0 7px 9px;padding:2px 6px;border-radius:0 9px 9px 0}
  .cms-primary-nav .cms-submenu .cms-submenu .cms-menu-item-row>a{padding:7px 9px;font-size:.83rem}
}
.brand .cms-brand-name{display:grid;min-width:0;max-width:280px}
.brand .cms-brand-name strong{font-size:clamp(.84rem,1.06vw,1.05rem);line-height:1.36;white-space:normal;overflow-wrap:anywhere}
.footer-brand .cms-brand-name strong{color:#fff;font-size:1.06rem}


/* BUYIT CMS v7: premium footer credits + compact premium directory */
.footer-bottom{align-items:center;flex-wrap:wrap;row-gap:14px}
.footer-bottom-branding{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;line-height:1.75}
.footer-bottom-branding .credit-unit{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.03));border:1px solid rgba(255,207,114,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.footer-bottom-branding .credit-prefix{font-size:.76rem;font-weight:800;color:#cdbca9;letter-spacing:.02em;white-space:nowrap}
.footer-bottom-branding a{color:#ffd67d;text-decoration:none;font-weight:950;letter-spacing:.01em}
.footer-bottom-branding a:hover,.footer-bottom-branding a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-bottom-branding .credit-sep{color:rgba(255,209,120,.45);font-size:1rem}
.cms-footer-credits{padding-top:16px;padding-bottom:0;margin-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.cms-footer-links{padding-bottom:0}

#directory .section-heading{max-width:none;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.11)}
#directory .section-heading .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,205,76,.12);border:1px solid rgba(255,205,76,.24);color:#ffd96f}
#directory .section-heading h2{max-width:16ch;margin-bottom:12px;text-wrap:balance;text-shadow:0 10px 30px rgba(0,0,0,.28)}
#directory .section-heading>p:last-child{max-width:860px;color:#ded0bf}
#directory .directory-tools{display:grid;gap:10px;padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 45px rgba(0,0,0,.16);backdrop-filter:blur(10px)}
#directory .directory-tools label{font-size:.92rem;letter-spacing:.01em;color:#fff4dd}
#directory .directory-tools>div{display:flex;gap:10px}
#directory .directory-tools input{height:48px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.96);color:#24150e;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
#directory .directory-tools input:focus{outline:none;border-color:#ffd46f;box-shadow:0 0 0 4px rgba(255,212,111,.18)}
#directory .directory-tools button{height:48px;padding:0 18px;border-radius:14px;background:linear-gradient(180deg,#ffd05d,#e0a828);color:#26160f;font-weight:900;box-shadow:0 10px 22px rgba(224,168,40,.2)}
#directory .directory-tools p{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#f4e7d6;font-size:.85rem;font-weight:800}
#directory .linkBox{margin-top:16px;padding:14px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 50px rgba(0,0,0,.15)}
#directory .categoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#directory .catGroup{border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));box-shadow:0 14px 30px rgba(0,0,0,.1);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#directory .catGroup:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.14);border-color:rgba(255,209,120,.22)}
#directory .catGroup[open]{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border-color:rgba(255,209,120,.24)}
#directory .catGroup summary{list-style:none;padding:16px 18px;align-items:center;gap:10px}
#directory .catGroup summary::-webkit-details-marker{display:none}
#directory .catGroup summary span{flex:1;min-width:0;font-size:.97rem;line-height:1.35}
#directory .catGroup summary em{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;align-self:center;padding:6px 10px;border-radius:999px;background:rgba(255,205,76,.13);border:1px solid rgba(255,205,76,.18);font-size:.73rem;color:#ffdb79}
#directory .catLinks{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 15px}
#directory .catLinks a{display:block;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08);color:#fff6e9;font-size:.83rem;font-weight:700;line-height:1.35;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}
#directory .catLinks a:hover,#directory .catLinks a:focus-visible{background:linear-gradient(180deg,#ffd05d,#eab742);border-color:#ffd97c;color:#26170f;transform:translateY(-1px);box-shadow:0 10px 22px rgba(234,183,66,.2)}
@media (min-width:1320px){#directory .categoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){#directory .categoryGrid{grid-template-columns:1fr}#directory .catLinks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.footer-bottom-branding{gap:8px 10px}.footer-bottom-branding .credit-unit{width:100%;justify-content:center}#directory .directory-tools>div{flex-direction:column}#directory .directory-tools button{width:100%}#directory .linkBox{padding:10px}#directory .catGroup summary{padding:14px 15px}#directory .catGroup summary span{font-size:.92rem}#directory .catLinks{grid-template-columns:1fr;padding:0 10px 12px}#directory .catLinks a{font-size:.84rem;padding:11px 12px}}

/* Hide unpublished directory rows and current-search misses, even with card display rules. */
#directory .catLinks a[hidden],#directory .catGroup[hidden]{display:none!important}

/* ==============================================================
   BUYIT CMS v9 — unified site width & fluid layouts (all themes)
   All styles additive to the 719 original HTML pages. Original
   source, images and their paths are intentionally left intact.
   ============================================================== */
:root {
  --buyit-shell: 1180px;
  --buyit-gutter: clamp(16px, 3vw, 30px);
  --buyit-radius: clamp(15px, 1.8vw, 24px);
}
html { max-width: 100%; }
body { max-width: 100%; overflow-x: clip; }
/* A single alignment line for header, article, banner and footer. */
.container,
.container-wide {
  width: calc(100% - var(--buyit-gutter) - var(--buyit-gutter));
  max-width: var(--buyit-shell);
  margin-inline: auto;
}
.article-shell,
.section .article-shell,
.site-footer .container,
.footer-bottom,
.cms-footer-credits { max-width: var(--buyit-shell); }
main,
main > section,
main :where(.container,.container-wide,.article-shell,.article-content,.source-article,
  .paper-card,.hero-panel,.hero-frame,.trust-grid,.section-heading,.howto-media,
  .process-content,.process-layout,.split-layout,.about-grid,.contact-grid,
  .faq-layout,.review-card,.footer-cta,.banner-section,.map-frame,.directory-tools) {
  min-width: 0;
}
/* Width is governed by the wrapper, rather than oversized intrinsic media. */
main :where(figure,picture,video,iframe,canvas,svg) { max-width: 100%; }
main picture { display: block; width: 100%; }
main img { display: block; max-width: 100%; height: auto; }
main :where(.hero-picture,.wide-banner,.howto-image-link,.howto-media) img {
  width: 100%; height: auto; max-width: 100%;
}
main .wide-banner { width: 100%; max-width: 100%; margin-inline: auto; border-radius: var(--buyit-radius); }
main .wide-banner picture { width: 100%; }
main .wide-banner img { aspect-ratio: 2 / 1; object-fit: cover; }
main .wide-banner figcaption { padding: clamp(11px,1.6vw,17px) clamp(13px,2vw,22px); line-height: 1.6; }
main .hero-frame,main .hero-picture, main .hero-frame img { max-width: 100%; }
main .map-frame iframe { display: block; width: 100%; min-height: clamp(310px,42vw,520px); border: 0; }
main .quote-card img { width: min(160px, 45%); object-fit: contain; margin-inline: auto; }
/* Cards and rich-text keep balanced spacing, even with edited content. */
main :where(.paper-card,.answer-card,.review-card,.category-card,.contact-card,.service-card,
  .tip-box,.mini-checklist,.quote-card,.faq-item) { max-width: 100%; }
main :where(.article-content,.source-article,.paper-card,.lead,.section-heading,
  .care-grid,.service-grid,.category-grid,.review-track,.faq-layout,.about-grid,
  .contact-grid,.split-layout,.process-layout) { min-width: 0; }
main :where(h1,h2,h3,h4,p,li,dd,dt,blockquote,figcaption,summary,th,td) {
  overflow-wrap: break-word;
}
main :where(pre,code) { max-width: 100%; }
main pre { overflow-x: auto; white-space: pre; -webkit-overflow-scrolling: touch; }
main :where(.article-content,.source-article) :where(a,strong) { overflow-wrap: anywhere; }
main :where(input,select,textarea,button) { max-width: 100%; }
/* Tables: protect the page from horizontal scrolling and expose all columns. */
main .table-scroll,
main .cms-responsive-table {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #bb8d45 #f3e8d5;
}
main .cms-responsive-table { width: 100%; margin: 22px 0; border-radius: 14px; }
main .cms-responsive-table:focus-visible { outline: 3px solid #dcaf55; outline-offset: 2px; }
main .cms-responsive-table > table { min-width: 720px; width: 100%; }
/* Preserve the existing source wrapper's own scroll when present. */
main .table-scroll .cms-responsive-table {
  display: block;
  min-width: 780px;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: visible;
}
main .table-scroll .cms-responsive-table > table { min-width: 780px; width: 100%; }
/* Menus and contact data must be allowed to wrap on small devices. */
.site-header .brand { min-width: 0; max-width: min(100%, 365px); }
.site-header .brand .cms-brand-name { min-width: 0; }
.site-header .brand .cms-brand-name strong { overflow-wrap: anywhere; }
.topbar-inner,
.nav-wrap,
.footer-main,
.footer-bottom,
.footer-cta { min-width: 0; }
.footer-bottom-branding,.cms-footer-links { max-width: 100%; }
/* Keep the directory as a true fluid grid, including long service names. */
#directory .categoryGrid { min-width: 0; }
#directory .catGroup,#directory .catLinks,#directory .catLinks a { min-width: 0; max-width: 100%; }
#directory .catLinks a { overflow-wrap: anywhere; }

@media (max-width: 990px) {
  .section { padding-block: clamp(42px,7vw,65px); }
  main :where(.split-layout,.process-layout,.about-grid,.contact-grid,.faq-layout) {
    grid-template-columns: minmax(0,1fr);
  }
  main :where(.split-layout,.process-layout,.about-grid,.contact-grid,.faq-layout) > * { min-width: 0; }
  main .howto-media { position: static; width: 100%; max-width: 100%; }
  main .howto-media img { max-height: 520px; object-fit: contain; }
  .footer-main { gap: clamp(14px,3vw,24px); }
}
@media (max-width: 640px) {
  .section { padding-block: 44px; }
  main .section-heading { margin-bottom: 22px; }
  main .section-heading h2 { font-size: clamp(1.5rem,6.4vw,2.2rem); line-height: 1.3; }
  main :where(.paper-card,.answer-card,.service-card,.category-card,
    .review-card,.contact-card,.mini-checklist,.quote-card,.tip-box) {
    padding: clamp(16px,4vw,22px);
    border-radius: 17px;
  }
  main .wide-banner { border-width: 2px; border-radius: 16px; }
  main .wide-banner figcaption { font-size: .83rem; text-align: center; }
  main :where(.service-grid,.care-grid,.category-grid,.faq-layout,.contact-grid,
    .about-grid,.split-layout,.process-layout,.process-list) {
    grid-template-columns: minmax(0,1fr);
  }
  main .review-track { grid-auto-columns: minmax(0,calc(100% - 12px)); }
  main .form-row { grid-template-columns: minmax(0,1fr); }
  main input,main select,main textarea { font-size: 16px; }
  .topbar-inner { gap: 7px; }
  .topbar-inner>div { gap: 10px; flex-wrap: wrap; }
  .nav-wrap { gap: 12px; }
  .site-header .brand { flex: 1 1 auto; width: 0; }
  .site-header .brand img { flex: 0 0 auto; }
  .site-header .brand .cms-brand-name { flex: 1 1 auto; }
  .footer-bottom-branding .credit-unit { min-width: 0; white-space: normal; }
  #directory .catLinks { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 370px) {
  .topbar { font-size: .75rem; }
  .site-header .brand img { width: 46px; height: 46px; }
  .site-header .brand .cms-brand-name strong { font-size: .82rem; }
  .footer-bottom nav { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  #directory .catGroup,#directory .catLinks a { transition-duration: 0s; }
}

@media (max-width: 640px) {
  main .map-card { max-width: calc(100% - 24px); left: 12px; right: 12px; bottom: 12px; padding: 14px; }
  main .map-card strong { overflow-wrap: anywhere; }
  main .review-track { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  main .hero-panel { max-width: 100%; }
}
/* Refined comparison-table treatment for product pages without legacy table skins. */
main .cms-responsive-table > table:not(.data-table) {
  border-collapse: separate;
  border-spacing: 0;
  background: #fffaf1;
  border: 1px solid #decbaa;
  font-size: .93rem;
  line-height: 1.65;
}
main .cms-responsive-table > table:not(.data-table) :is(th,td) {
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #eadbc2;
  border-right: 1px solid #ebdfcc;
}
main .cms-responsive-table > table:not(.data-table) th {
  background: #392418;
  color: #fff2da;
  font-weight: 850;
}
main .cms-responsive-table > table:not(.data-table) tr:nth-child(even) td { background: #fff4e1; }
main .cms-responsive-table > table:not(.data-table) tr:last-child td { border-bottom: 0; }
@media (max-width: 760px) {
  main .cms-responsive-table::before {
    content: "↔ เลื่อนตารางเพื่อดูข้อมูลทั้งหมด";
    position: sticky;
    left: 0;
    display: block;
    width: fit-content;
    padding: 5px 9px;
    margin: 0 0 7px;
    border-radius: 8px;
    background: #f3e2bf;
    color: #51371c;
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.5;
  }
  main .table-scroll .cms-responsive-table::before { display: none; }
}

/* Legacy text-only source receives the same accessible, responsive shell. */
.cms-legacy-article { max-width: 100%; }
.cms-legacy-text { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }


/* ===============================================================
   BUYIT CMS v11 — editorial hero, no image overlay (all 4 themes)
   Preserve the original product media, copy, heading and CTA links.
   The picture and introduction are separate, equally wide blocks.
   =============================================================== */
main section.hero {
  padding-block: clamp(16px, 2.6vw, 34px) clamp(34px, 4.7vw, 58px);
  background:
    radial-gradient(ellipse at 80% -5%, rgba(239, 185, 77, .15), transparent 52%),
    linear-gradient(180deg, #24170f 0%, #39261a 54%, #f7efdf 54%, #f7efdf 100%);
}
main section.hero > .container-wide {
  width: calc(100% - var(--buyit-gutter) * 2);
  max-width: var(--buyit-shell);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
main section.hero .hero-frame {
  position: relative;
  inset: auto;
  z-index: auto;
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 217, 143, .45);
  border-radius: clamp(14px, 2vw, 22px);
  background: #1b120d;
  box-shadow: 0 18px 44px rgba(23, 13, 8, .25);
}
main section.hero .hero-picture,
main section.hero .hero-picture picture { display: block; width: 100%; }
main section.hero .hero-frame img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: contain;
  background: #1b120d;
}
/* The old 42px negative margin is deliberately removed. */
main section.hero .hero-panel.container {
  width: 100%;
  max-width: 100%;
  margin: 16px 0 0;
  padding: clamp(22px, 2.9vw, 32px) clamp(23px, 3.2vw, 38px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 124px;
  align-items: center;
  gap: clamp(20px, 3vw, 42px);
  min-width: 0;
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(136, 92, 44, .22);
  border-radius: clamp(16px, 2vw, 22px);
  background: linear-gradient(115deg, #fffdf7 0%, #fcf3e4 58%, #f2e1c6 100%);
  box-shadow: 0 16px 42px rgba(59, 34, 17, .12);
}
main section.hero .hero-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #f3d18b 0%, #c88d2d 54%, #784321 100%);
  pointer-events: none;
}
main section.hero .hero-copy { min-width: 0; }
main section.hero .hero-copy > .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  width: fit-content;
  margin: 0 0 11px;
  padding: 7px 12px;
  border: 1px solid #e6d2b2;
  border-radius: 999px;
  background: rgba(235, 210, 169, .35);
  color: #865225;
  font-size: clamp(.7rem, .9vw, .77rem);
  font-weight: 900;
  letter-spacing: .015em;
  line-height: 1.55;
  text-transform: none;
  overflow-wrap: anywhere;
}
main section.hero .hero-copy > .eyebrow::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #cc902e;
  box-shadow: 0 0 0 4px rgba(221, 161, 58, .13);
}
main section.hero h1 {
  max-width: 32ch;
  margin: 0 0 9px;
  font-size: clamp(1.8rem, 2.8vw, 2.75rem);
  font-weight: 950;
  line-height: 1.24;
  letter-spacing: -.028em;
  text-wrap: balance;
  color: #281a12;
}
main section.hero .hero-copy > p:not(.eyebrow):not(.microcopy) {
  max-width: 94ch;
  margin: 0;
  color: #5e5043;
  font-size: clamp(.9rem, 1.07vw, 1rem);
  line-height: 1.7;
}
main section.hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}
main section.hero .hero-actions .btn {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 12px;
  font-size: .89rem;
  line-height: 1.3;
  font-weight: 900;
  box-shadow: 0 7px 15px rgba(41, 26, 15, .09);
}
main section.hero .hero-actions .btn-ghost {
  background: #fffaf0;
  color: #62452b;
  border-color: #d5c1a3;
}
main section.hero .microcopy {
  width: fit-content;
  max-width: 100%;
  margin: 14px 0 0;
  padding: 7px 11px;
  border-left: 3px solid #cf9843;
  border-radius: 0 9px 9px 0;
  background: rgba(209, 161, 82, .09);
  color: #79624a;
  font-size: .78rem;
  line-height: 1.65;
}
/* Badge is a calm 24-hour service seal, not a giant rotating sticker. */
main section.hero .hero-stamp {
  width: 124px;
  height: 136px;
  margin: 0;
  padding: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid #ae7b3d;
  outline: 0;
  border-radius: 20px;
  background: linear-gradient(145deg, #412a1b, #23160f 85%);
  box-shadow: inset 0 1px 0 rgba(255, 228, 169, .18), 0 14px 28px rgba(46, 27, 14, .2);
  color: #f6ddad;
  line-height: 1;
  text-align: center;
  transform: none;
}
main section.hero .hero-stamp span {
  color: #f5d19b;
  font-size: .83rem;
  font-weight: 850;
}
main section.hero .hero-stamp strong {
  color: #ffd575;
  font-size: 3.9rem;
  font-weight: 950;
  line-height: .98;
  text-shadow: none;
}
main section.hero .hero-stamp small {
  color: #f3dfc2;
  font-size: .8rem;
  font-weight: 800;
}
@media (max-width: 860px) {
  main section.hero .hero-panel.container {
    grid-template-columns: minmax(0, 1fr) 108px;
    gap: 16px;
    padding: 22px;
  }
  main section.hero .hero-stamp { width: 108px; height: 119px; }
  main section.hero .hero-stamp strong { font-size: 3.3rem; }
}
@media (max-width: 680px) {
  main section.hero { padding-top: 12px; padding-bottom: 36px; }
  main section.hero .hero-frame { border-radius: 14px; border-inline: 1px solid rgba(255, 217, 143, .45); }
  main section.hero .hero-panel.container {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin: 12px 0 0;
    padding: clamp(16px, 4.7vw, 22px);
    border-radius: 16px;
  }
  main section.hero .hero-copy > .eyebrow {
    width: fit-content;
    border-radius: 12px;
    margin-bottom: 10px;
    padding: 7px 10px;
    font-size: .72rem;
  }
  main section.hero h1 {
    max-width: 100%;
    margin-bottom: 8px;
    font-size: clamp(1.48rem, 6.1vw, 2.05rem);
    line-height: 1.28;
    letter-spacing: -.02em;
  }
  main section.hero .hero-copy > p:not(.eyebrow):not(.microcopy) {
    font-size: .88rem;
    line-height: 1.68;
  }
  main section.hero .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
  }
  main section.hero .hero-actions .btn {
    min-width: 0;
    min-height: 43px;
    padding: 9px 10px;
    font-size: .81rem;
    text-align: center;
    white-space: normal;
  }
  main section.hero .hero-actions .btn:nth-child(n + 3) { grid-column: 1 / -1; }
  main section.hero .microcopy { font-size: .75rem; margin-top: 12px; }
  main section.hero .hero-stamp {
    width: fit-content;
    max-width: 100%;
    height: auto;
    min-height: 40px;
    padding: 7px 14px;
    display: flex;
    flex-direction: row;
    justify-self: start;
    align-self: start;
    gap: 6px;
    border-radius: 999px;
  }
  main section.hero .hero-stamp span,main section.hero .hero-stamp small { font-size: .76rem; }
  main section.hero .hero-stamp strong { font-size: 1.55rem; }
}
@media (max-width: 360px) {
  main section.hero .hero-actions { grid-template-columns: minmax(0, 1fr); }
  main section.hero .hero-actions .btn:nth-child(n + 3) { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  main section.hero .hero-actions .btn { transition: none; }
}
/* BUYIT v12: minimal, accessible analytics consent controls */
.buyit-consent{position:fixed;left:clamp(12px,2.5vw,30px);bottom:clamp(12px,2vw,26px);z-index:10050;width:min(590px,calc(100vw - 24px));display:flex;align-items:center;gap:18px;padding:17px 20px;border-radius:18px;border:1px solid rgba(255,210,115,.35);background:#241c18;color:#fff9ed;box-shadow:0 20px 56px rgba(0,0,0,.34);font:14px/1.5 system-ui,"Noto Sans Thai",sans-serif}
.buyit-consent p{margin:0;flex:1}.buyit-consent strong{display:block;font-size:13px;color:#ffdb86;margin-bottom:4px}.buyit-consent p span{display:block;font-size:11px;opacity:.86}.buyit-consent>div{display:flex;flex-direction:column;gap:8px}.buyit-consent button{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px 12px;white-space:nowrap;font-size:11px;font-weight:850;cursor:pointer}.buyit-consent-yes{color:#2b2110;background:#ffcf69}.buyit-consent-no{color:#e9e0d1;background:transparent}.buyit-consent button:focus-visible{outline:3px solid #ffe4a4;outline-offset:3px}
@media(max-width:540px){.buyit-consent{flex-direction:column;align-items:stretch;gap:12px}.buyit-consent>div{flex-direction:row}.buyit-consent button{flex:1}}

/* ====================================================================
   BUYIT CMS v14 — Editorial Pro (all imported pages)
   Replaces the v13 Grid layout and fixed narrow heading widths.
   Keeps original HTML, product images, data and internal links unchanged.
   ==================================================================== */
:root{
  --editorial-ink:#2d211b;
  --editorial-brown:#4e3020;
  --editorial-muted:#69584b;
  --editorial-accent:#b87935;
  --editorial-gold:#e6bf78;
  --editorial-border:#e8dac6;
  --editorial-bg:#fffdfa;
  --editorial-measure:940px;
}
/* A consistent reading width, centered within the site-wide 1180px grid. */
main .article-shell,
main .section .article-shell{max-width:1080px}
main :is(.article-content,.source-article,.cms-legacy-article){
  display:block;
  min-width:0;
  width:100%;
  max-width:100%;
  position:relative;
  color:var(--editorial-ink);
  font-size:clamp(.98rem,.22vw + .94rem,1.06rem);
  font-weight:450;
  line-height:1.8;
  letter-spacing:0;
  text-align:left;
  overflow-wrap:break-word;
}
/* No vertical stripe or pseudo-background stretching the whole article. */
main :is(.article-content,.source-article,.cms-legacy-article)::before{content:none;display:none}
main .article-content,
main .cms-legacy-article{
  max-width:1080px;
  margin-inline:auto;
  padding:clamp(22px,3.4vw,44px);
  border:1px solid var(--editorial-border);
  border-top:4px solid #b98243;
  border-radius:22px;
  background:linear-gradient(180deg,#fffdf9 0%,#fffaf3 100%);
  box-shadow:0 16px 44px rgba(46,27,14,.08),0 2px 8px rgba(46,27,14,.025);
}
main .article-content.paper-card{box-shadow:0 16px 44px rgba(46,27,14,.08)}
main .article-content.spaced{margin-top:22px}
/* Intro blocks: compact, light, readable—not extra giant cards. */
main .source-article{
  padding:clamp(18px,2.5vw,28px) clamp(19px,3vw,34px);
  border:1px solid rgba(139,96,48,.16);
  border-radius:17px;
  background:linear-gradient(125deg,#fffdf8,#f6ead8);
  box-shadow:0 10px 28px rgba(59,35,19,.055);
}
main .source-article.lead-content{margin-top:18px}
/* Match text column widths without wasting 50% of the card. */
main :is(.article-content,.source-article,.cms-legacy-article) > :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,hr,pre,details){
  max-width:var(--editorial-measure);
  width:auto;
  margin-left:auto;
  margin-right:auto;
}
main :is(.article-content,.source-article,.cms-legacy-article) > :is(.table-scroll,.cms-responsive-table){max-width:100%;margin-inline:auto}
main :is(.article-content,.source-article,.cms-legacy-article) > :is(p,ul,ol,blockquote){margin-top:0;margin-bottom:12px}
main :is(.article-content,.source-article,.cms-legacy-article) > p{line-height:1.82}
/* Real hierarchy: no forced 22-character heading or huge white gaps. */
main :is(.article-content,.source-article,.cms-legacy-article) > h1{
  max-width:var(--editorial-measure);
  margin-top:0;
  margin-bottom:18px;
  font-size:clamp(1.75rem,2.8vw,2.65rem);
  line-height:1.33;
  font-weight:900;
  letter-spacing:-.025em;
  text-wrap:pretty;
  color:#291b12;
}
main :is(.article-content,.source-article,.cms-legacy-article) > h2{
  max-width:var(--editorial-measure);
  margin-top:32px;
  margin-bottom:12px;
  padding-top:16px;
  padding-bottom:0;
  border:0;
  border-top:1px solid var(--editorial-border);
  background:none;
  font-size:clamp(1.35rem,2vw,1.85rem);
  font-weight:900;
  letter-spacing:-.015em;
  line-height:1.45;
  color:#3a2418;
  text-wrap:pretty;
}
main :is(.article-content,.source-article,.cms-legacy-article) > h2:first-child,
main :is(.article-content,.source-article,.cms-legacy-article) > h1 + h2{
  margin-top:0;padding-top:0;border-top:0;
}
main :is(.article-content,.source-article,.cms-legacy-article) > h2::before{content:none;display:none}
main :is(.article-content,.source-article,.cms-legacy-article) > h3{
  max-width:var(--editorial-measure);
  margin-top:20px;
  margin-bottom:8px;
  font-size:clamp(1.11rem,1.48vw,1.27rem);
  line-height:1.5;
  font-weight:850;
  color:#753e21;
  letter-spacing:-.012em;
}
main :is(.article-content,.source-article,.cms-legacy-article) > :is(h4,h5,h6){
  margin-top:17px;margin-bottom:8px;color:var(--editorial-brown);line-height:1.5;
}
main :is(.article-content,.source-article,.cms-legacy-article) > h1 + p{
  margin-bottom:17px;
  padding:14px 18px;
  border:1px solid #e9d7b8;
  border-left:4px solid #bc8241;
  border-radius:0 12px 12px 0;
  color:#513c2b;
  background:#f9f1e4;
  line-height:1.85;
  font-size:1.035em;
}
main :is(.article-content,.source-article,.cms-legacy-article) :is(strong,b){font-weight:850;color:#683216}
main :is(.article-content,.source-article,.cms-legacy-article) a{
  color:#8a421f;
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:rgba(169,101,40,.36);
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
main :is(.article-content,.source-article,.cms-legacy-article) a:is(:hover,:focus-visible){color:#ab4c1e;text-decoration-color:currentColor}
/* Compact, correctly indented native markers (including ol[start]). */
main :is(.article-content,.source-article,.cms-legacy-article) :is(ul,ol){
  display:block;
  list-style-position:outside;
  list-style-type:disc;
  padding:10px 18px 10px 39px;
  border:1px solid #ede2d0;
  border-radius:14px;
  background:#fdf8f0;
}
main :is(.article-content,.source-article,.cms-legacy-article) ol{list-style-type:decimal}
main :is(.article-content,.source-article,.cms-legacy-article) li{
  display:list-item;
  margin:0;
  padding:5px 2px 5px 1px;
  color:var(--editorial-ink);
  line-height:1.7;
}
main :is(.article-content,.source-article,.cms-legacy-article) li + li{border-top:1px solid rgba(118,77,43,.08)}
main :is(.article-content,.source-article,.cms-legacy-article) li::marker{color:#97541f;font-weight:900}
main :is(.article-content,.source-article,.cms-legacy-article) li::before{content:none;display:none}
main :is(.article-content,.source-article,.cms-legacy-article) :is(ul,ol) :is(ul,ol){border:0;background:transparent;margin:6px 0 2px;padding:0 8px 0 23px}
/* Quotes and media. */
main :is(.article-content,.source-article,.cms-legacy-article) blockquote{
  padding:17px 22px;
  border-left:4px solid #c68a42;
  border-radius:0 14px 14px 0;
  background:#f8f0e1;
  color:#4c3727;
  box-shadow:none;
  font-size:1rem;
}
main :is(.article-content,.source-article,.cms-legacy-article) blockquote p:last-child{margin-bottom:0}
main :is(.article-content,.source-article,.cms-legacy-article) figure{margin-top:16px;margin-bottom:16px}
main :is(.article-content,.source-article,.cms-legacy-article) figure :is(img,video){max-width:100%;height:auto;border-radius:13px}
main :is(.article-content,.source-article,.cms-legacy-article) figure figcaption{margin-top:8px;font-size:.85rem;color:var(--editorial-muted);line-height:1.6}
main :is(.article-content,.source-article,.cms-legacy-article) > hr{border:0;border-top:1px solid var(--editorial-border);margin-block:18px}
main :is(.article-content,.source-article,.cms-legacy-article) :is(.table-scroll,.cms-responsive-table){margin-top:16px;margin-bottom:20px;border:1px solid #e6d6c2;border-radius:13px;background:#fff;box-shadow:none}
main :is(.article-content,.source-article,.cms-legacy-article) :is(.table-scroll,.cms-responsive-table) th{background:#3b261b;color:#fff1da}
main :is(.article-content,.source-article,.cms-legacy-article) > pre{white-space:pre;max-width:100%;background:#291b14;color:#f2e5d2;border-radius:12px;padding:17px;overflow-x:auto}
/* The article wrapper should look like a coherent editorial page. */
main .article-section{padding-block:clamp(36px,5.2vw,60px);background:linear-gradient(180deg,#f3e7d2 0%,#f8f1e6 100%)}
main :is(.deep-guide,.article-conclusion){padding-block:clamp(35px,4.8vw,56px)}
main :is(.article-section,.deep-guide,.article-conclusion) .section-heading{max-width:1080px;margin-bottom:22px}
main :is(.article-section,.deep-guide,.article-conclusion) .section-heading h2{
  max-width:880px;
  font-size:clamp(1.6rem,2.8vw,2.55rem);
  line-height:1.3;
  text-wrap:balance;
}
main :is(.article-section,.deep-guide,.article-conclusion) .section-heading .eyebrow{
  display:inline-block;
  font-size:.76rem;
  font-weight:900;
  line-height:1.5;
  letter-spacing:.03em;
  color:#815027;
  padding:5px 10px;
  border:1px solid #e8d4af;
  border-radius:999px;
  background:#f9f0dd;
  margin-bottom:12px;
}
main .article-section .lead-content{margin-top:17px}
main .article-section .answer-card{
  border:1px solid #dfcaa5;
  border-left:4px solid #c18a40;
  border-radius:15px;
  background:linear-gradient(135deg,#fffaf0,#f5e7cc);
  padding:22px 26px;
  font-size:1.04rem;
  line-height:1.75;
  box-shadow:0 10px 24px rgba(47,29,18,.06);
}
main .article-section .answer-card::before{content:none;display:none}
main .article-section .long-read{margin-top:18px;border:1px solid #e6d7be;border-radius:17px;background:#fffaf1;box-shadow:none}
main .article-section .long-read summary{padding:16px 21px;background:#f0dfc0;color:#3d271a;font-weight:850}
main .article-section .long-read > div{padding:0 21px 21px}
/* TOC: only added by the progressive enhancement for long articles. */
main .cms-editorial-toc{
  width:100%;max-width:var(--editorial-measure);
  margin:14px auto 22px;
  border:1px solid #e5d3b8;
  border-radius:15px;
  background:#f8eedf;
  box-shadow:0 4px 14px rgba(75,45,24,.035);
  overflow:hidden;
}
main .cms-editorial-toc > summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:13px 17px;
  cursor:pointer;
  list-style:none;
  font-weight:850;
  color:#432819;
  line-height:1.6;
  user-select:none;
}
main .cms-editorial-toc > summary::-webkit-details-marker{display:none}
main .cms-editorial-toc > summary .toc-heading{display:inline-flex;gap:9px;align-items:center}
main .cms-editorial-toc > summary .toc-heading::before{
  content:"≡";display:grid;place-items:center;width:29px;height:29px;border-radius:9px;
  background:#392319;color:#f7d799;font-size:1.25rem;line-height:1;
}
main .cms-editorial-toc > summary .toc-count{color:#86684f;font-weight:700;font-size:.82rem}
main .cms-editorial-toc > summary .toc-count::after{content:"⌄";margin-left:9px;color:#9d6534}
main .cms-editorial-toc[open] > summary .toc-count::after{content:"⌃"}
main .cms-editorial-toc .toc-links{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  max-height:320px;overflow:auto;padding:12px;
  border-top:1px solid #e9d9c4;
}
main .cms-editorial-toc .toc-links a{
  display:flex;gap:8px;align-items:flex-start;
  min-width:0;padding:9px 12px;
  border-radius:9px;border:1px solid transparent;
  background:rgba(255,255,255,.74);text-decoration:none;font-size:.87rem;font-weight:650;line-height:1.55;
  color:#513828;
}
main .cms-editorial-toc .toc-links a span{font-variant-numeric:tabular-nums;color:#a16934;flex:0 0 auto;font-weight:900}
main .cms-editorial-toc .toc-links a:hover,
main .cms-editorial-toc .toc-links a:focus-visible{background:#fff;border-color:#e6c999;color:#8d471d}
main .cms-editorial-toc + h2{margin-top:20px}
main .cms-legacy-article .cms-legacy-text{line-height:1.8}
/* Mobile: comfortable full-width reading, zero horizontal overflow. */
@media(max-width:760px){
  main .article-shell,main .section .article-shell{width:calc(100% - var(--buyit-gutter) * 2)}
  main .article-content,main .cms-legacy-article{padding:19px 18px 22px;border-radius:16px;border-top-width:3px}
  main .source-article{padding:17px 18px;border-radius:14px}
  main :is(.article-content,.source-article,.cms-legacy-article){font-size:1rem;line-height:1.78}
  main :is(.article-content,.source-article,.cms-legacy-article) > h1{font-size:clamp(1.6rem,6vw,2rem);margin-bottom:14px}
  main :is(.article-content,.source-article,.cms-legacy-article) > h2{margin-top:23px;padding-top:13px;font-size:clamp(1.24rem,4.7vw,1.56rem);line-height:1.42;margin-bottom:9px}
  main :is(.article-content,.source-article,.cms-legacy-article) > h3{margin-top:17px;margin-bottom:7px;font-size:1.12rem}
  main :is(.article-content,.source-article,.cms-legacy-article) > h1+p{padding:12px 13px;line-height:1.76;font-size:1rem}
  main :is(.article-content,.source-article,.cms-legacy-article) > :is(p,ul,ol,blockquote){margin-bottom:11px}
  main :is(.article-content,.source-article,.cms-legacy-article) :is(ul,ol){padding:10px 12px 10px 31px;border-radius:12px}
  main :is(.article-content,.source-article,.cms-legacy-article) li{padding-block:4px}
  main .cms-editorial-toc{margin:14px auto 17px;border-radius:12px}
  main .cms-editorial-toc > summary{padding:12px 13px;font-size:.93rem}
  main .cms-editorial-toc .toc-links{grid-template-columns:minmax(0,1fr);max-height:260px}
  main .article-section .answer-card{padding:17px 19px}
  main .article-section .long-read > div{padding:0 17px 17px}
  main .article-section .long-read summary{padding:14px 17px}
}
@media(prefers-reduced-motion:reduce){main .cms-editorial-toc a{transition:none}}

/* v14 refinement: paragraphs inside list rows must not add hidden 16px gaps. */
main :is(.article-content,.source-article,.cms-legacy-article) li > p{margin:0;line-height:1.68}
/* Short comparison/checklist items become two columns on large screens only. */
main :is(.article-content,.source-article) > ul.cms-compact-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 16px;
  padding:12px 16px;
  list-style:none;
}
main :is(.article-content,.source-article) > ul.cms-compact-list > li{
  display:block;
  position:relative;
  list-style:none;
  padding:8px 7px 8px 22px;
  border:0;
  border-bottom:1px solid rgba(118,77,43,.09);
}
main :is(.article-content,.source-article) > ul.cms-compact-list > li::before{
  content:"";
  display:block;
  position:absolute;
  left:5px;
  top:1.36em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#af7132;
  box-shadow:0 0 0 3px rgba(175,113,50,.09);
}
@media(max-width:800px){
  main :is(.article-content,.source-article) > ul.cms-compact-list{grid-template-columns:minmax(0,1fr);gap:0;padding:8px 14px}
}


/* ==============================================================
   BUYIT CMS v15 — Quiet Luxury review showcase
   All styles scoped to the reviews module across all 4 themes.
   Never suggest that the sample material is verified feedback.
   ============================================================== */
main .reviews-section{
  position:relative;
  overflow:clip;
  isolation:isolate;
  padding-block:clamp(48px,6vw,76px);
  background:
    radial-gradient(circle at 0 0,rgba(242,208,148,.22),transparent 36%),
    radial-gradient(circle at 100% 100%,rgba(119,67,39,.065),transparent 34%),
    linear-gradient(180deg,#f9f4eb 0%,#f2e7d5 100%);
  color:#2c1c12;
}
main .reviews-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#8a4a2b 0%,#eac67c 43%,#a97939 100%);
  z-index:0;
}
main .reviews-section > .container{
  position:relative;
  z-index:1;
  max-width:var(--buyit-shell,1180px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(245px,280px);
  gap:clamp(13px,1.9vw,22px) clamp(20px,3vw,42px);
  align-items:end;
}
main .reviews-section .section-heading{
  min-width:0;
  max-width:none;
  width:100%;
  margin:0;
  padding:0;
  border:0;
}
main .reviews-section .section-heading .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  padding:7px 13px;
  border:1px solid rgba(155,101,44,.2);
  border-radius:999px;
  background:rgba(236,200,143,.24);
  color:#87512c;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.55;
}
main .reviews-section .section-heading .eyebrow::before{
  content:"";
  flex:0 0 7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#bd8939;
  box-shadow:0 0 0 4px rgba(192,136,55,.13);
}
main .reviews-section .section-heading h2{
  width:100%;
  max-width:26ch;
  margin:10px 0 8px;
  color:#2b1a10;
  font-size:clamp(1.75rem,3.05vw,2.7rem);
  font-weight:950;
  letter-spacing:-.035em;
  line-height:1.19;
  text-wrap:balance;
}
main .reviews-section .section-heading>p:last-child:not(.eyebrow){
  margin:0;
  max-width:75ch;
  color:#725f4f;
  font-size:.87rem;
  font-weight:500;
  line-height:1.75;
}
/* Counts are explicitly a layout demo, never a fake 5.0 rating. */
main .reviews-section .review-summary-bar{
  align-self:stretch;
  width:100%;
  min-width:0;
  margin:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:18px 20px;
  border:1px solid rgba(248,208,132,.25);
  border-radius:19px;
  background:linear-gradient(135deg,#38251b 0%,#23160e 100%);
  box-shadow:0 15px 35px rgba(45,28,17,.16),inset 0 1px 0 rgba(255,255,255,.08);
}
main .reviews-section .review-summary-score{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:9px;
  width:100%;
  margin:0;
  padding:0;
  border:0;
}
main .reviews-section .review-summary-score .cms-demo-seal{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  flex:0 0 29px;
  border-radius:9px;
  background:linear-gradient(145deg,#f4d596,#cb923c);
  color:#372010;
  font-size:1.05rem;
}
main .reviews-section .review-summary-score strong{
  display:inline;
  color:#f9d695;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.01em;
  line-height:1.5;
}
main .reviews-section .review-summary-score span:not(.cms-demo-seal){color:#edc77c}
main .reviews-section .review-summary-bar p{margin:0;display:grid;gap:3px}
main .reviews-section .review-summary-bar p strong{
  color:#fff4e1;
  font-size:.88rem;
  font-weight:900;
  line-height:1.4;
}
main .reviews-section .review-summary-bar p span{
  color:#d9c3a4;
  font-size:.73rem;
  font-weight:500;
  line-height:1.55;
}
/* The grid always follows the intro; no uneven sidebar or narrow text column. */
main .reviews-section :where(.review-grid,.review-track,.review-disclosure,.cms-review-note,.cms-review-more){
  grid-column:1 / -1;
  min-width:0;
}
main .reviews-section .review-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(11px,1.5vw,16px);
  margin:3px 0 0;
  padding:0;
}
main .reviews-section .review-card{
  --rev-line:rgba(97,59,29,.13);
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  margin:0;
  padding:19px 19px 17px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(111,76,43,.15);
  border-radius:18px;
  background:linear-gradient(165deg,#fffdfa 0%,#fff9f0 100%);
  box-shadow:0 12px 26px rgba(65,40,23,.075),inset 0 1px 0 #fff;
  color:#37251a;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
main .reviews-section .review-card::before{
  content:"“";
  position:absolute;
  top:auto;
  right:13px;
  bottom:-49px;
  font-family:Georgia,serif;
  font-size:7.3rem;
  line-height:1;
  color:rgba(171,113,48,.08);
  pointer-events:none;
}
main .reviews-section .review-card::after,
main .reviews-section .review-card:nth-child(3n+2)::after,
main .reviews-section .review-card:nth-child(3n)::after{
  content:"";
  position:absolute;
  inset:0 0 auto;
  width:auto;
  height:3px;
  background:linear-gradient(90deg,#9e6934,#eac478 70%,transparent);
  pointer-events:none;
}
main .reviews-section .review-card:hover{
  transform:translateY(-3px);
  border-color:rgba(169,114,54,.33);
  box-shadow:0 19px 36px rgba(65,40,23,.13);
}
main .reviews-section .review-card-top{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:9px;
  flex:0 0 auto;
  min-width:0;
  z-index:1;
}
main .reviews-section .review-person{display:flex;align-items:center;gap:10px;min-width:0}
main .reviews-section .review-person>div{min-width:0;display:grid;gap:2px;line-height:1.35}
main .reviews-section .review-person strong{
  color:#2d1c13;
  font-size:.92rem;
  font-weight:950;
  line-height:1.3;
  overflow-wrap:anywhere;
}
main .reviews-section .review-person small{
  color:#897461;
  font-size:.72rem;
  font-weight:550;
  line-height:1.4;
}
main .reviews-section .avatar{
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  flex:0 0 39px;
  border-radius:12px;
  border:1px solid rgba(235,189,107,.32);
  background:linear-gradient(145deg,#483020,#23160f);
  color:#f6d58e;
  font-size:.9rem;
  font-weight:950;
  box-shadow:0 5px 12px rgba(59,36,20,.11);
}
main .reviews-section .review-meta{
  min-width:0;
  width:100%;
  display:flex;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  gap:5px;
}
main .reviews-section .review-badge{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(158,104,43,.12);
  background:#f1e6d3;
  color:#704320;
  font-size:.69rem;
  font-weight:900;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
}
main .reviews-section .review-rating{font-size:.75rem;color:#be8d3e}
main .reviews-section .review-text{
  position:relative;
  z-index:1;
  flex:1 1 auto;
  margin:12px 0 0;
  padding:12px 0 0;
  border:0;
  border-top:1px solid var(--rev-line);
  color:#4c3a2d;
  font-size:clamp(.87rem,1.02vw,.94rem);
  font-weight:600;
  line-height:1.72;
  letter-spacing:0;
  text-wrap:pretty;
}
/* Editorial accent, limited to one in six cards for a memorable rhythm. */
main .reviews-section .review-card:nth-child(6n+1){
  --rev-line:rgba(255,224,170,.2);
  border-color:#453221;
  background:linear-gradient(145deg,#38251a 0%,#24170e 100%);
  box-shadow:0 18px 36px rgba(45,26,16,.17);
}
main .reviews-section .review-card:nth-child(6n+1)::before{color:rgba(252,214,145,.09)}
main .reviews-section .review-card:nth-child(6n+1)::after{background:linear-gradient(90deg,#f5d799,#c58d40 72%,transparent)}
main .reviews-section .review-card:nth-child(6n+1) .review-person strong,
main .reviews-section .review-card:nth-child(6n+1) .review-text{color:#fff5e8}
main .reviews-section .review-card:nth-child(6n+1) .review-person small{color:#d4be9f}
main .reviews-section .review-card:nth-child(6n+1) .avatar{
  border-color:rgba(251,209,131,.34);
  background:linear-gradient(145deg,#eac27b,#bb7838);
  color:#29190f;
}
main .reviews-section .review-card:nth-child(6n+1) .review-badge{
  background:rgba(241,204,134,.13);
  border-color:rgba(249,208,132,.2);
  color:#f8d79b;
}
/* Original quotes are examples, not proof of a 5-star rating. */
main .reviews-section .cms-review-note{
  width:fit-content;
  max-width:100%;
  margin:0;
  padding:10px 14px;
  border-left:3px solid #b78740;
  border-radius:10px;
  background:rgba(255,252,244,.78);
  color:#72543b;
  font-size:.81rem;
  line-height:1.6;
}
main .reviews-section .review-disclosure{
  margin:0;
  border:1px solid rgba(116,79,45,.16);
  border-radius:13px;
  background:rgba(255,251,243,.74);
  color:#705741;
}
main .reviews-section .review-disclosure summary{
  cursor:pointer;
  min-height:43px;
  padding:10px 15px;
  color:#71563d;
  font-size:.78rem;
  font-weight:800;
  line-height:1.6;
}
main .reviews-section .review-disclosure p{
  margin:0;
  padding:0 15px 14px;
  font-size:.78rem;
  line-height:1.65;
  color:#765f4a;
}
/* Progressive enhancement: six examples on desktop, three on phones. */
main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .review-grid>.review-card:nth-child(n+7){display:none}
main .reviews-section .cms-review-more{
  justify-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:45px;
  width:fit-content;
  max-width:100%;
  margin:0;
  padding:11px 22px;
  border:1px solid #4f3321;
  border-radius:999px;
  background:linear-gradient(145deg,#422a1b,#2b1a11);
  color:#ffe5b1;
  font-family:inherit;
  font-size:.89rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(59,32,17,.13);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
main .reviews-section .cms-review-more:hover,
main .reviews-section .cms-review-more:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(59,32,17,.18);
  background:#52341f;
}
main .reviews-section .cms-review-more:focus-visible{outline:3px solid #d7a757;outline-offset:3px}
/* Two pages use the older three-column quote-track rather than person cards. */
main .reviews-section .review-track{
  display:grid;
  grid-auto-flow:row;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-columns:auto;
  gap:14px;
  overflow:visible;
  padding:3px 0 0;
  scroll-snap-type:none;
}
main .reviews-section .review-track .quote-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:13px;
  min-width:0;
  width:auto;
  min-height:0;
  margin:0;
  padding:21px;
  border:1px solid rgba(102,69,38,.17);
  border-radius:18px;
  background:linear-gradient(145deg,#fffdf7,#f8edde);
  box-shadow:0 12px 26px rgba(65,40,23,.08);
  color:#3e2c1d;
  text-align:left;
}
main .reviews-section .review-track .quote-card p{
  margin:0;
  max-width:none;
  min-height:0;
  font-size:.94rem;
  line-height:1.78;
  color:#49382a;
}
main .reviews-section .review-track .quote-card>strong{
  display:inline-flex;
  padding:5px 10px;
  border-radius:999px;
  background:#efe1c7;
  color:#78512b;
  font-size:.78rem;
  line-height:1.45;
}
@media(max-width:1050px){
  main .reviews-section>.container{grid-template-columns:minmax(0,1fr) minmax(220px,260px)}
  main .reviews-section .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  main .reviews-section .review-track{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
  main .reviews-section{padding-block:43px 48px}
  main .reviews-section>.container{grid-template-columns:minmax(0,1fr);gap:14px}
  main .reviews-section .section-heading h2{max-width:none;font-size:clamp(1.65rem,5.5vw,2.2rem)}
  main .reviews-section .review-summary-bar{padding:15px 17px;gap:5px;border-radius:16px}
  main .reviews-section .review-grid{grid-template-columns:minmax(0,1fr);gap:11px}
  main .reviews-section .review-card{padding:16px 17px}
  main .reviews-section .review-track{grid-template-columns:minmax(0,1fr);gap:11px}
  main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .review-grid>.review-card:nth-child(n+4){display:none}
}
@media(prefers-reduced-motion:reduce){
  main .reviews-section .review-card,
  main .reviews-section .cms-review-more{transition:none}
  main .reviews-section .review-card:hover,
  main .reviews-section .cms-review-more:hover{transform:none}
}
@media print{
  main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .review-grid>.review-card{display:flex!important}
  main .reviews-section .cms-review-more{display:none}
  main .reviews-section .review-card{break-inside:avoid}
}

/* v15 compatibility: a few service pages use reviews-grid/review-top names. */
main .reviews-section .reviews-grid{
  width:100%;
  min-width:0;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(11px,1.5vw,16px);
  margin:3px 0 0;
  padding:0;
}
main .reviews-section .review-top{
  display:grid;
  gap:8px;
  position:relative;
  z-index:1;
}
main .reviews-section .review-top>strong,
main .reviews-section .review-card>strong{
  display:block;
  color:#2d1c13;
  font-size:.94rem;
  font-weight:900;
  line-height:1.4;
}
main .reviews-section .review-top .review-meta>span:not(.review-badge){
  display:inline-flex;
  max-width:100%;
  padding:5px 9px;
  border-radius:999px;
  color:#7b5839;
  background:#f7eddb;
  font-size:.68rem;
  font-weight:750;
  line-height:1.35;
  overflow-wrap:anywhere;
}
main .reviews-section .review-card>p:not(.review-text){
  flex:1;
  padding-top:12px;
  margin:12px 0 0;
  border-top:1px solid var(--rev-line);
  color:#4c3a2d;
  font-size:.9rem;
  font-weight:600;
  line-height:1.72;
}
main .reviews-section .review-card:nth-child(6n+1) :where(.review-top>strong,.review-card>strong){color:#fff5e8}
main .reviews-section .review-card:nth-child(6n+1) .review-top>strong,
main .reviews-section .review-card:nth-child(6n+1)>strong,
main .reviews-section .review-card:nth-child(6n+1)>p:not(.review-text){color:#fff5e8}
main .reviews-section .review-card:nth-child(6n+1) .review-top .review-meta>span:not(.review-badge){
  color:#f3dba9;
  background:rgba(241,204,134,.11);
}
main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .reviews-grid>.review-card:nth-child(n+7){display:none}
@media(max-width:1050px){main .reviews-section .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){
  main .reviews-section .reviews-grid{grid-template-columns:minmax(0,1fr);gap:11px}
  main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .reviews-grid>.review-card:nth-child(n+4){display:none}
}
@media print{main .reviews-section.cms-reviews-enhanced:not(.cms-reviews-expanded) .reviews-grid>.review-card{display:flex!important}}

/* ===============================================================
   BUYIT CMS v16 — Premium FAQ / Quick Answers
   Scoped to FAQ sections: all other content, metadata and themes
   continue to use their existing designs.
   =============================================================== */
main section.faq-section{
  padding-block:clamp(52px,6vw,86px);
  background:
    radial-gradient(ellipse at 10% 0%,rgba(224,173,92,.16),transparent 41%),
    linear-gradient(180deg,#f7f0e6 0%,#efe6d8 100%);
  color:#302014;
}
main section.faq-section .faq-layout{
  width:calc(100% - var(--buyit-gutter)*2);
  max-width:var(--buyit-shell);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(275px,350px) minmax(0,1fr);
  align-items:start;
  gap:clamp(16px,2.5vw,28px);
}
main section.faq-section .faq-layout>.section-heading{
  position:sticky;
  top:112px;
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(23px,2.6vw,32px);
  border:1px solid rgba(235,194,116,.28);
  border-radius:clamp(19px,2.2vw,26px);
  background:
    radial-gradient(circle at 95% 0%,rgba(244,199,101,.18),transparent 44%),
    linear-gradient(150deg,#4a3020 0%,#2c1c14 57%,#21160f 100%);
  color:#fff5e5;
  box-shadow:0 24px 48px rgba(53,33,20,.20), inset 0 1px 0 rgba(255,255,255,.12);
  isolation:isolate;
  overflow:hidden;
}
main section.faq-section .faq-layout>.section-heading::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,#c78a43,#ffe2a0,#c78a43);
}
main section.faq-section .cms-faq-ident{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px;
  color:#f2d49b;
}
main section.faq-section .cms-faq-mark{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid rgba(246,204,130,.40);
  border-radius:12px;
  background:linear-gradient(135deg,#dca95a,#f9d993);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
  color:#2a1c11;
  font-family:ui-sans-serif,system-ui,sans-serif;
  font-size:1.3rem;
  font-weight:950;
}
main section.faq-section .cms-faq-ident-title{
  font-size:.70rem;
  letter-spacing:.13em;
  font-weight:900;
}
main section.faq-section .cms-faq-count{
  margin-left:auto;
  padding:6px 9px;
  border:1px solid rgba(245,204,130,.26);
  border-radius:999px;
  background:rgba(255,224,163,.1);
  color:#ffe1ab;
  white-space:nowrap;
  font-size:.76rem;
  font-weight:850;
}
main section.faq-section .section-heading>.eyebrow{
  display:inline-flex;
  max-width:100%;
  margin:0 0 12px;
  padding:0;
  border:0;
  background:none;
  color:#dbb97b;
  letter-spacing:.02em;
  font-size:.79rem;
  font-weight:850;
  line-height:1.5;
}
main section.faq-section .section-heading>h2{
  max-width:100%;
  margin:0 0 12px;
  padding:0;
  color:#fff7e8;
  font-size:clamp(1.67rem,2.25vw,2.28rem);
  line-height:1.23;
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
main section.faq-section .section-heading>p:not(.eyebrow){
  max-width:100%;
  margin:0;
  color:#d6c5b1;
  font-size:.87rem;
  font-weight:500;
  line-height:1.83;
}
main section.faq-section .cms-faq-context{
  margin:16px 0 0;
  color:#e7d8c5;
}
main section.faq-section .cms-faq-context>summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(247,219,165,.24);
  background:rgba(255,255,255,.07);
  color:#fbe2b7;
  cursor:pointer;
  font-size:.78rem;
  font-weight:850;
  line-height:1.45;
}
main section.faq-section .cms-faq-context>summary:hover{background:rgba(255,255,255,.13)}
main section.faq-section .cms-faq-context-body{
  max-height:260px;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin-top:12px;
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#e9d9c6;
  font-size:.81rem;
  line-height:1.77;
  overflow-wrap:anywhere;
}
main section.faq-section .cms-faq-help{
  display:grid;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(244,214,167,.16);
}
main section.faq-section .cms-faq-help>span{
  color:#f4dfbd;
  font-size:.82rem;
  font-weight:750;
}
main section.faq-section .cms-faq-help-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  padding:12px 16px;
  border:1px solid #f2cb84;
  border-radius:13px;
  background:linear-gradient(135deg,#f8d58e,#e4ad59);
  box-shadow:0 8px 22px rgba(0,0,0,.15);
  color:#312012;
  text-decoration:none;
  font-size:.9rem;
  line-height:1.42;
  font-weight:950;
  transition:transform .2s ease,box-shadow .2s ease;
}
main section.faq-section .cms-faq-help-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
main section.faq-section .cms-faq-help-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
main section.faq-section .faq-list{
  min-width:0;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding:0;
  margin:0;
  counter-reset:buyit-faq-number;
}
main section.faq-section .cms-faq-search-ui{
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:9px;
  margin:0 0 7px;
  padding:17px 19px;
  border:1px solid #e7d9c2;
  border-radius:19px;
  background:linear-gradient(145deg,#fffefa,#f9f1e5);
  box-shadow:0 8px 25px rgba(66,39,21,.06);
}
main section.faq-section.cms-faq-enhanced .cms-faq-search-ui{display:flex}
main section.faq-section .cms-faq-search-ui>label{
  display:block;
  color:#342219;
  font-size:.84rem;
  font-weight:900;
}
main section.faq-section .cms-faq-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:47px;
  padding:0 9px 0 13px;
  border:1px solid #e3d1b9;
  border-radius:12px;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(30,15,6,.035);
}
main section.faq-section .cms-faq-search-row:focus-within{
  border-color:#c38c47;
  box-shadow:0 0 0 3px rgba(213,166,98,.16);
}
main section.faq-section .cms-faq-search-icon{
  color:#976e42;
  font-size:1.5rem;
  line-height:1;
  flex:0 0 auto;
}
main section.faq-section .cms-faq-search-row input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
  height:44px;
  padding:0;
  border:0;
  border-radius:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:#332217;
  font-size:.89rem;
  line-height:1.45;
}
main section.faq-section .cms-faq-search-row input::placeholder{color:#9a8a79}
main section.faq-section .cms-faq-search-row input:focus{outline:0;box-shadow:none}
main section.faq-section .cms-faq-clear{
  flex:0 0 auto;
  min-height:34px;
  padding:6px 10px;
  border:0;
  border-radius:9px;
  background:#f0e4d1;
  color:#754b25;
  font-size:.77rem;
  font-weight:900;
  cursor:pointer;
}
main section.faq-section .cms-faq-clear:hover{background:#e8d4b4}
main section.faq-section .cms-faq-clear[hidden]{display:none!important}
main section.faq-section .cms-faq-result{
  margin:0;
  color:#886b50;
  font-size:.75rem;
  line-height:1.4;
  font-weight:750;
}
main section.faq-section .faq-list>details.faq-item{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  border:1px solid #e5d9c9;
  border-radius:16px;
  background:#fffdf9;
  box-shadow:0 6px 17px rgba(59,36,21,.045);
  overflow:hidden;
  counter-increment:buyit-faq-number;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
main section.faq-section .faq-list>details.faq-item[hidden]{display:none!important}
main section.faq-section .faq-list>details.faq-item:hover{
  border-color:#d0b78d;
  box-shadow:0 10px 24px rgba(59,36,21,.09);
}
main section.faq-section .faq-list>details.faq-item[open]{
  border-color:#b99559;
  background:#fffefb;
  box-shadow:0 13px 28px rgba(69,42,19,.09);
}
main section.faq-section .faq-list>details.faq-item>summary{
  display:grid;
  grid-template-columns:37px minmax(0,1fr) 28px;
  align-items:center;
  gap:13px;
  min-width:0;
  min-height:63px;
  margin:0;
  padding:12px 16px;
  list-style:none;
  cursor:pointer;
  color:#352418;
  font-size:clamp(.91rem,1.2vw,.99rem);
  font-weight:880;
  line-height:1.55;
  letter-spacing:-.005em;
  text-align:left;
  overflow-wrap:anywhere;
  user-select:none;
}
main section.faq-section .faq-list>details.faq-item>summary::-webkit-details-marker{display:none}
main section.faq-section .faq-list>details.faq-item>summary::before{
  content:counter(buyit-faq-number,decimal-leading-zero);
  position:static;
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  flex:0 0 37px;
  border:1px solid #efdfc3;
  border-radius:10px;
  background:#f6efe4;
  color:#9a6731;
  font-family:ui-sans-serif,system-ui,sans-serif;
  font-size:.81rem;
  font-weight:900;
  line-height:1;
}
main section.faq-section .faq-list>details.faq-item[open]>summary::before{
  background:#423022;
  border-color:#423022;
  color:#f9d998;
}
main section.faq-section .faq-list>details.faq-item>summary::after{
  content:"+";
  position:static;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid #e9d9bf;
  border-radius:50%;
  background:#fff9ed;
  color:#9a6c37;
  font-family:ui-sans-serif,system-ui,sans-serif;
  font-size:1.2rem;
  font-weight:500;
  line-height:1;
  transition:transform .18s ease,background-color .18s ease,color .18s ease;
}
main section.faq-section .faq-list>details.faq-item[open]>summary::after{
  content:"−";
  background:#403023;
  border-color:#403023;
  color:#ffdf9a;
}
main section.faq-section .faq-list>details.faq-item>summary:focus-visible{
  outline:3px solid #d5a655;
  outline-offset:-4px;
  border-radius:14px;
}
main section.faq-section .faq-list>details.faq-item>div{
  margin:0;
  padding:0 18px 20px 66px;
  border:0;
  color:#61503d;
  font-size:.9rem;
  font-weight:500;
  line-height:1.84;
  overflow-wrap:anywhere;
}
main section.faq-section .faq-list>details.faq-item>div::before{
  content:"";
  display:block;
  height:1px;
  margin:0 0 15px;
  background:linear-gradient(90deg,#e0cba9,transparent 95%);
}
main section.faq-section .faq-list>details.faq-item>div :where(p,ul,ol){margin:0 0 10px}
main section.faq-section .faq-list>details.faq-item>div :last-child{margin-bottom:0}
main section.faq-section .faq-list>details.faq-item>div a{color:#8c4a20;font-weight:850}
main section.faq-section .cms-faq-empty{
  display:block;
  margin:0;
  padding:26px 20px;
  border:1px dashed #d6be94;
  border-radius:17px;
  background:#fffaf1;
  color:#765435;
  text-align:center;
  font-size:.88rem;
  font-weight:700;
  line-height:1.7;
}
main section.faq-section .cms-faq-empty[hidden]{display:none!important}
@media(max-width:1039px){
  main section.faq-section .faq-layout{grid-template-columns:minmax(0,1fr);gap:16px}
  main section.faq-section .faq-layout>.section-heading{position:relative;top:auto;padding:25px 28px}
  main section.faq-section .section-heading>h2{font-size:clamp(1.8rem,4vw,2.35rem);max-width:780px}
  main section.faq-section .section-heading>p:not(.eyebrow){max-width:78ch}
  main section.faq-section .cms-faq-help{grid-template-columns:auto minmax(0,max-content);justify-content:start;gap:14px}
  main section.faq-section .cms-faq-help-link{width:auto}
}
@media(max-width:640px){
  main section.faq-section{padding-block:44px 50px}
  main section.faq-section .faq-layout{gap:13px}
  main section.faq-section .faq-layout>.section-heading{padding:21px;border-radius:19px}
  main section.faq-section .cms-faq-ident{margin-bottom:15px}
  main section.faq-section .section-heading>h2{font-size:clamp(1.6rem,6.4vw,2rem);line-height:1.3}
  main section.faq-section .cms-faq-help{grid-template-columns:minmax(0,1fr);gap:9px;margin-top:19px;padding-top:15px}
  main section.faq-section .cms-faq-help-link{width:100%;min-height:46px}
  main section.faq-section .cms-faq-search-ui{padding:15px;border-radius:15px}
  main section.faq-section .faq-list{gap:9px}
  main section.faq-section .faq-list>details.faq-item{border-radius:14px}
  main section.faq-section .faq-list>details.faq-item>summary{
    grid-template-columns:30px minmax(0,1fr) 26px;
    gap:10px;
    min-height:59px;
    padding:11px 12px;
    font-size:.90rem;
    line-height:1.51;
  }
  main section.faq-section .faq-list>details.faq-item>summary::before{width:30px;height:30px;border-radius:9px;font-size:.72rem}
  main section.faq-section .faq-list>details.faq-item>summary::after{width:26px;height:26px;font-size:1.15rem}
  main section.faq-section .faq-list>details.faq-item>div{padding:0 15px 17px 52px;font-size:.86rem;line-height:1.8}
}
@media(prefers-reduced-motion:reduce){
  main section.faq-section .faq-list>details.faq-item,
  main section.faq-section .faq-list>details.faq-item>summary::after,
  main section.faq-section .cms-faq-help-link{transition:none}
}
@media print{
  main section.faq-section .faq-layout>.section-heading{position:static;box-shadow:none}
  main section.faq-section .cms-faq-search-ui{display:none!important}
  main section.faq-section .faq-list>details.faq-item{break-inside:avoid}
}



/* ==============================================================
   BUYIT v19 — concise premium contact, corrected grid semantics
   Replaces the v18 card whose third grid child wrapped into 42px.
   =============================================================== */
main section.contact-section.cms-contact-v19 {
  position:relative;
  isolation:isolate;
  overflow:clip;
  padding-block:clamp(44px,5vw,74px);
  color:#fff8ed;
  background:radial-gradient(ellipse at 82% -6%,rgba(221,161,72,.2),transparent 51%),
             linear-gradient(135deg,#21150f 0%,#332016 55%,#29170f 100%);
}
main section.cms-contact-v19 *{box-sizing:border-box}
main section.cms-contact-v19 .cms-contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(14px,2vw,22px);
  align-items:stretch;
  max-width:var(--buyit-shell,1180px);
  min-width:0;
}
main section.cms-contact-v19 :is(.cms-contact-primary,.cms-contact-guide){
  min-width:0;
  border-radius:clamp(18px,2vw,26px);
}
main section.cms-contact-v19 .cms-contact-primary{
  padding:clamp(25px,3.1vw,42px);
  border:1px solid rgba(250,214,153,.22);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.028));
  box-shadow:0 18px 46px rgba(12,6,3,.19),inset 0 1px 0 rgba(255,255,255,.08);
}
main section.cms-contact-v19 .cms-contact-kicker{
  display:flex;align-items:center;gap:9px;
  margin:0 0 18px;
  color:#f3cc83;
  font-size:.83rem;line-height:1.35;font-weight:900;
  letter-spacing:.055em;
}
main section.cms-contact-v19 .cms-contact-kicker-icon{
  display:grid;place-items:center;width:30px;height:30px;flex:none;
  border-radius:10px;background:rgba(239,192,117,.12);
  border:1px solid rgba(239,192,117,.28);
  color:#ecca8b;font-size:1rem;
}
main section.cms-contact-v19 .cms-contact-primary h2{
  margin:0;
  max-width:100%;
  font-size:clamp(1.9rem,3.1vw,3rem);
  line-height:1.23;
  letter-spacing:-.025em;
  text-wrap:balance;
  overflow-wrap:break-word;
  color:#fff8ec;
  font-weight:900;
}
main section.cms-contact-v19 .cms-contact-lead{
  margin:15px 0 0;
  max-width:58ch;
  font-size:clamp(.92rem,1.15vw,1rem);
  line-height:1.8;
  color:#e1ceba;
}
main section.cms-contact-v19 .cms-contact-actions{
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:11px;margin-top:23px;
}
main section.cms-contact-v19 .cms-contact-action{
  display:grid;align-content:center;gap:6px;
  position:relative;min-width:0;min-height:120px;
  padding:19px 34px 19px 18px;
  border-radius:16px;
  text-decoration:none;color:#fff;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
main section.cms-contact-v19 .cms-contact-action:focus-visible{outline:3px solid #ffe3a9;outline-offset:4px}
main section.cms-contact-v19 .cms-contact-action:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}
main section.cms-contact-v19 .cms-contact-action-line{
  border:1px solid rgba(112,240,153,.32);
  background:linear-gradient(135deg,#0eb840,#087f29);
  box-shadow:0 12px 28px rgba(4,99,32,.22);
}
main section.cms-contact-v19 .cms-contact-action-phone{
  background:linear-gradient(130deg,#76502c,#402a1b);
  border:1px solid rgba(254,215,138,.32);
  box-shadow:0 12px 28px rgba(15,9,5,.16);
}
main section.cms-contact-v19 .cms-contact-action-label{
  font-size:.7rem;letter-spacing:.065em;font-weight:900;opacity:.92;
}
main section.cms-contact-v19 .cms-contact-action strong{
  display:block;min-width:0;max-width:100%;
  font-size:clamp(1.01rem,1.65vw,1.22rem);
  font-weight:950;line-height:1.35;color:inherit;overflow-wrap:anywhere;
}
main section.cms-contact-v19 .cms-contact-action small{
  display:block;line-height:1.45;font-size:.75rem;
  color:rgba(255,255,255,.86);
}
main section.cms-contact-v19 .cms-contact-action-arrow{
  position:absolute;right:14px;top:16px;
  font-weight:900;font-size:1.22rem;line-height:1;
  opacity:.92;
}
main section.cms-contact-v19 .cms-contact-micro{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  margin-top:19px;color:#c8b29b;
  font-size:.75rem;line-height:1.6;
}
main section.cms-contact-v19 .cms-contact-micro>span:first-child{color:#f6cd85;font-weight:900}
main section.cms-contact-v19 .cms-contact-micro-sep{color:rgba(244,206,153,.52)}
main section.cms-contact-v19 .cms-contact-guide{
  align-content:start;
  padding:clamp(25px,3.1vw,38px);
  border:1px solid #d7b991;
  background:linear-gradient(145deg,#fffaf0,#f1e2c8);
  box-shadow:0 20px 44px rgba(19,11,6,.19);
  color:#302014;
}
main section.cms-contact-v19 .cms-contact-guide-heading{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:.73rem;font-weight:900;letter-spacing:.03em;color:#82592e;
}
main section.cms-contact-v19 .cms-contact-guide-index{
  padding:6px 9px;background:#392418;color:#f3ce89;
  border-radius:8px;letter-spacing:.04em;
}
main section.cms-contact-v19 .cms-contact-guide h3{
  margin:13px 0 18px;
  font-size:clamp(1.3rem,2vw,1.75rem);
  line-height:1.28;letter-spacing:-.025em;
  color:#27180f;font-weight:950;text-wrap:balance;
}
main section.cms-contact-v19 .cms-contact-steps{
  display:grid;gap:0;counter-reset:none;
  margin:0;padding:0;list-style:none;
}
main section.cms-contact-v19 .cms-contact-steps>li{
  display:grid;grid-template-columns:38px minmax(0,1fr);
  gap:13px;align-items:start;
  min-width:0;
  margin:0;padding:13px 0;
  border-top:1px solid rgba(106,70,37,.13);
}
main section.cms-contact-v19 .cms-contact-step-num{
  display:grid;place-items:center;
  height:36px;width:36px;
  border-radius:11px;background:#3b271b;
  color:#fbd791;letter-spacing:.03em;font-size:.79rem;font-weight:950;
  white-space:nowrap;
}
main section.cms-contact-v19 .cms-contact-step-copy{
  display:block;min-width:0;width:100%;
  white-space:normal;overflow-wrap:break-word;
}
main section.cms-contact-v19 .cms-contact-step-copy strong{
  display:block;margin:0 0 2px;
  font-size:.93rem;font-weight:950;line-height:1.48;color:#352218;
}
main section.cms-contact-v19 .cms-contact-step-copy p{
  display:block;margin:0;max-width:100%;
  font-size:.81rem;line-height:1.66;font-weight:500;color:#73583e;
  white-space:normal;word-break:normal;
}
main section.cms-contact-v19 .cms-contact-more{
  margin-top:11px;border:1px solid rgba(114,76,43,.17);
  border-radius:12px;background:rgba(255,255,255,.47);overflow:hidden;
}
main section.cms-contact-v19 .cms-contact-more>summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 15px;list-style:none;cursor:pointer;
  font-size:.81rem;font-weight:900;line-height:1.5;color:#704924;
}
main section.cms-contact-v19 .cms-contact-more>summary::-webkit-details-marker{display:none}
main section.cms-contact-v19 .cms-contact-more>summary span{font-size:1.12rem;font-weight:500}
main section.cms-contact-v19 .cms-contact-more[open]>summary span{transform:rotate(45deg)}
main section.cms-contact-v19 .cms-contact-more>ul{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px 15px;margin:0;padding:0 15px 15px 15px;list-style:none;
}
main section.cms-contact-v19 .cms-contact-more li{
  position:relative;min-width:0;padding-left:16px;margin:0;
  font-size:.78rem;line-height:1.65;color:#66472c;overflow-wrap:anywhere;
}
main section.cms-contact-v19 .cms-contact-more li::before{
  content:"";position:absolute;left:0;top:.65em;
  width:7px;height:7px;border-radius:50%;background:#c78f3c;
}
@media(max-width:1040px){
 main section.cms-contact-v19 .cms-contact-layout{grid-template-columns:minmax(0,1fr)}
 main section.cms-contact-v19 .cms-contact-primary h2{max-width:22ch}
}
@media(max-width:640px){
 main section.contact-section.cms-contact-v19{padding-block:40px}
 main section.cms-contact-v19 :is(.cms-contact-primary,.cms-contact-guide){padding:21px;border-radius:19px}
 main section.cms-contact-v19 .cms-contact-primary h2{max-width:100%;font-size:clamp(1.7rem,7vw,2.3rem)}
 main section.cms-contact-v19 .cms-contact-lead{font-size:.92rem;line-height:1.75}
 main section.cms-contact-v19 .cms-contact-actions{grid-template-columns:minmax(0,1fr)}
 main section.cms-contact-v19 .cms-contact-action{min-height:91px;padding:16px 38px 16px 17px}
 main section.cms-contact-v19 .cms-contact-action strong{font-size:1.12rem}
 main section.cms-contact-v19 .cms-contact-more>ul{grid-template-columns:minmax(0,1fr)}
 main section.cms-contact-v19 .cms-contact-guide h3{font-size:1.4rem}
}
@media(prefers-reduced-motion:reduce){main section.cms-contact-v19 .cms-contact-action{transition:none}}


/* ===============================================================
   BUYIT CMS v20 — premium service + accepted-items sections
   Compact, high-contrast, premium cards across all page families.
   No forms added. Focus on readability, memorability and tighter layout.
   =============================================================== */
main #services,
main #accepted-items { position: relative; overflow: clip; }
main #services > .container,
main #accepted-items > .container { position: relative; z-index: 1; }
main #services {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 196, 86, .10), transparent 22%),
    radial-gradient(circle at 86% 82%, rgba(216, 137, 57, .18), transparent 26%),
    linear-gradient(135deg, #24150f 0%, #3b2117 48%, #4b2817 100%);
}
main #accepted-items {
  background:
    radial-gradient(circle at 88% 12%, rgba(233, 198, 133, .18), transparent 18%),
    linear-gradient(180deg, rgba(255, 251, 243, .94) 0%, rgba(250, 242, 225, .98) 100%);
}
main #services .section-heading,
main #accepted-items .section-heading {
  position: relative;
  max-width: min(900px, 100%);
  margin-bottom: clamp(22px, 3vw, 34px);
  padding-left: clamp(16px, 2vw, 24px);
}
main #services .section-heading::before,
main #accepted-items .section-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: .25rem;
  width: 4px;
  height: clamp(72px, 9vw, 98px);
  border-radius: 999px;
  background: linear-gradient(180deg, #efc069 0%, #8c5327 100%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
main #services .section-heading h2,
main #accepted-items .section-heading h2 {
  letter-spacing: -.03em;
  line-height: 1.12;
  margin-bottom: .55rem;
}
main #services .section-heading > p:last-child,
main #accepted-items .section-heading > p:last-child {
  max-width: 72ch;
  font-size: clamp(.98rem, 1.2vw, 1.06rem);
  line-height: 1.78;
}
main #services .service-grid,
main #accepted-items .category-grid {
  display: grid;
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
}
main #services .service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  counter-reset: buyit-service-card;
}
main #accepted-items .category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: clamp(24px, 3vw, 36px);
}
main #services .service-card,
main #accepted-items .category-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  isolation: isolate;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
main #services .service-card {
  padding: clamp(22px, 2.5vw, 30px);
  border-radius: 24px;
  border: 1px solid rgba(255, 229, 193, .18);
  background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.05) 100%);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
  color: #fff4e6;
}
main #services .service-card::before {
  counter-increment: buyit-service-card;
  content: counter(buyit-service-card, decimal-leading-zero);
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .2em;
  color: rgba(255, 229, 193, .40);
}
main #services .service-card::after {
  content: "";
  position: absolute;
  right: -26px;
  bottom: -40px;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(226, 164, 62, .24) 0%, rgba(226, 164, 62, 0) 70%);
  pointer-events: none;
  z-index: -1;
}
main #accepted-items .category-card {
  padding: clamp(22px, 2.4vw, 28px);
  border-radius: 22px;
  border: 1px solid rgba(167, 119, 55, .18);
  background: linear-gradient(180deg, #fffdf7 0%, #f7efde 100%);
  box-shadow: 0 14px 34px rgba(80, 49, 15, .08);
  color: #3b2818;
}
main #services .service-card:hover,
main #services .service-card:focus-within,
main #accepted-items .category-card:hover,
main #accepted-items .category-card:focus-within {
  transform: translateY(-3px);
}
main #services .service-card:hover,
main #services .service-card:focus-within {
  border-color: rgba(255, 214, 147, .34);
  box-shadow: 0 24px 56px rgba(0, 0, 0, .28);
}
main #accepted-items .category-card:hover,
main #accepted-items .category-card:focus-within {
  border-color: rgba(165, 115, 47, .30);
  box-shadow: 0 18px 38px rgba(80, 49, 15, .12);
}
main #services .service-icon,
main #accepted-items .category-card > span:first-child {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 16px;
  border-radius: 18px;
  font-size: 1.7rem;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 10px 18px rgba(0,0,0,.10);
}
main #services .service-icon {
  background: linear-gradient(180deg, rgba(255, 220, 152, .22) 0%, rgba(255, 175, 59, .14) 100%);
  border: 1px solid rgba(255, 224, 168, .24);
}
main #accepted-items .category-card > span:first-child {
  background: linear-gradient(180deg, #fff2cc 0%, #f1d891 100%);
  border: 1px solid rgba(180, 124, 37, .16);
}
main #services .service-card h3,
main #accepted-items .category-card h3 {
  margin: 0 0 10px;
  font-size: clamp(1.07rem, 1.55vw, 1.32rem);
  line-height: 1.28;
  letter-spacing: -.02em;
}
main #services .service-card h3 { color: #fffdf8; }
main #accepted-items .category-card h3 { color: #2f2115; }
main #services .service-card p,
main #accepted-items .category-card p {
  margin: 0;
  font-size: .98rem;
  line-height: 1.75;
}
main #services .service-card p { color: rgba(255, 241, 224, .88); }
main #accepted-items .category-card p { color: #695340; }
main #services .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 16px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 216, 156, .22);
  background: rgba(255,255,255,.06);
  color: #f4c46a;
  font-weight: 850;
  text-decoration: none;
  transition: background .22s ease, border-color .22s ease, color .22s ease;
}
main #services .text-link:hover,
main #services .text-link:focus-visible {
  background: rgba(255, 220, 165, .12);
  border-color: rgba(255, 216, 156, .34);
  color: #ffe4b6;
}
main #accepted-items .article-content.paper-card.spaced {
  margin-top: clamp(6px, 1vw, 12px);
  padding: clamp(24px, 2.9vw, 36px);
  border-radius: 26px;
  border: 1px solid rgba(181, 132, 67, .18);
  background:
    radial-gradient(circle at right top, rgba(241, 214, 159, .20), transparent 26%),
    linear-gradient(180deg, #fffdf7 0%, #fbf4e7 100%);
  box-shadow: 0 20px 44px rgba(86, 56, 19, .09);
}
main #accepted-items .article-content.paper-card.spaced h2:first-child {
  margin-top: 0;
  line-height: 1.18;
  letter-spacing: -.03em;
}
main #accepted-items .article-content.paper-card.spaced h3 {
  position: relative;
  padding-left: 18px;
  margin-top: 1.4em;
}
main #accepted-items .article-content.paper-card.spaced h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c88e37;
  box-shadow: 0 0 0 4px rgba(200, 142, 55, .14);
}
main #accepted-items .article-content.paper-card.spaced ul {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding-left: 1.15rem;
}
main #accepted-items .article-content.paper-card.spaced li::marker { color: #b97827; }
@media (max-width: 1080px) {
  main #accepted-items .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  main #services .section-heading,
  main #accepted-items .section-heading { padding-left: 14px; }
  main #services .section-heading::before,
  main #accepted-items .section-heading::before { width: 3px; height: 64px; }
  main #services .service-grid,
  main #accepted-items .category-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  main #services .service-card,
  main #accepted-items .category-card,
  main #accepted-items .article-content.paper-card.spaced { border-radius: 20px; }
  main #services .service-card::before { top: 16px; right: 16px; }
  main #services .service-icon,
  main #accepted-items .category-card > span:first-child {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    font-size: 1.5rem;
  }
  main #services .text-link { width: 100%; justify-content: center; }
}


/* ===============================================================
   BUYIT CMS v21 — premium article width + luxury reading blocks
   Makes long article/info sections match the main site width and
   look denser, cleaner, more premium across all pages.
   =============================================================== */
:root{
  --editorial-measure: 980px;
  --buyit-article-surface: linear-gradient(180deg, #fffdf9 0%, #fbf3e6 100%);
  --buyit-article-border: rgba(176, 127, 63, .16);
  --buyit-article-shadow: 0 24px 54px rgba(65, 39, 17, .09), 0 8px 18px rgba(65, 39, 17, .04);
}
/* keep article sections aligned to the same site shell as the other modules */
main .article-shell,
main .section .article-shell{
  width: calc(100% - var(--buyit-gutter) * 2);
  max-width: var(--buyit-shell);
}
/* premium article card used under accepted-items / guide sections */
main .article-content.paper-card.spaced,
main .article-section .article-content,
main .deep-guide .article-content,
main .article-conclusion .article-content{
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  margin-top: clamp(10px, 1.2vw, 16px);
  padding: clamp(28px, 3vw, 48px) clamp(24px, 3.4vw, 52px);
  border: 1px solid var(--buyit-article-border);
  border-top: 0;
  border-radius: 30px;
  background:
    radial-gradient(circle at right top, rgba(243, 214, 155, .22), transparent 22%),
    radial-gradient(circle at left bottom, rgba(255, 255, 255, .55), transparent 28%),
    var(--buyit-article-surface);
  box-shadow: var(--buyit-article-shadow);
  overflow: clip;
}
main .article-content.paper-card.spaced::before,
main .article-section .article-content::before,
main .deep-guide .article-content::before,
main .article-conclusion .article-content::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, #8b4b2b 0%, #e7c67b 48%, #b17737 100%);
}
main .article-content.paper-card.spaced > :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,hr,pre,details),
main .article-section .article-content > :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,hr,pre,details),
main .deep-guide .article-content > :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,hr,pre,details),
main .article-conclusion .article-content > :is(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,hr,pre,details){
  max-width: var(--editorial-measure);
}
main .article-content.paper-card.spaced > h2:first-child,
main .article-section .article-content > h2:first-child,
main .deep-guide .article-content > h2:first-child,
main .article-conclusion .article-content > h2:first-child{
  margin-top: 0;
  margin-bottom: 18px;
  padding-top: 0;
  border-top: 0;
  font-size: clamp(1.7rem, 2.45vw, 2.55rem);
  line-height: 1.22;
  letter-spacing: -.03em;
  color: #341f13;
}
main .article-content.paper-card.spaced > h2:first-child strong,
main .article-section .article-content > h2:first-child strong,
main .deep-guide .article-content > h2:first-child strong,
main .article-conclusion .article-content > h2:first-child strong{
  color: #8e4d22;
}
main .article-content.paper-card.spaced > h2 + p,
main .article-section .article-content > h2 + p,
main .deep-guide .article-content > h2 + p,
main .article-conclusion .article-content > h2 + p{
  margin-bottom: 14px;
  padding: 16px 18px;
  border: 1px solid #ecdab9;
  border-left: 4px solid #bf8542;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(180deg, #fff7ea 0%, #f8edd8 100%);
  color: #543c29;
  line-height: 1.86;
}
main .article-content.paper-card.spaced > p,
main .article-section .article-content > p,
main .deep-guide .article-content > p,
main .article-conclusion .article-content > p{
  color: #4b392e;
  line-height: 1.85;
  margin-bottom: 12px;
}
main .article-content.paper-card.spaced > h3,
main .article-section .article-content > h3,
main .deep-guide .article-content > h3,
main .article-conclusion .article-content > h3{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: fit-content;
  margin-top: 26px;
  margin-bottom: 10px;
  padding: 11px 16px;
  border-radius: 999px;
  border: 1px solid rgba(189, 138, 69, .22);
  background: linear-gradient(180deg, #fffaf0 0%, #f6ead2 100%);
  box-shadow: 0 8px 18px rgba(84, 51, 22, .06);
  color: #6d3d1f;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.45;
}
main .article-content.paper-card.spaced > h3::before,
main .article-section .article-content > h3::before,
main .deep-guide .article-content > h3::before,
main .article-conclusion .article-content > h3::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, #d5a04b 0%, #bb7f2f 100%);
  box-shadow: 0 0 0 4px rgba(208, 157, 72, .16);
}
main .article-content.paper-card.spaced > ul,
main .article-content.paper-card.spaced > ol,
main .article-section .article-content > ul,
main .article-section .article-content > ol,
main .deep-guide .article-content > ul,
main .deep-guide .article-content > ol,
main .article-conclusion .article-content > ul,
main .article-conclusion .article-content > ol{
  padding: 12px 16px 12px 36px;
  border: 1px solid #ecdfcb;
  border-radius: 18px;
  background: linear-gradient(180deg, #fffdf7 0%, #faf2e5 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}
main .article-content.paper-card.spaced > ul li,
main .article-content.paper-card.spaced > ol li,
main .article-section .article-content > ul li,
main .article-section .article-content > ol li,
main .deep-guide .article-content > ul li,
main .deep-guide .article-content > ol li,
main .article-conclusion .article-content > ul li,
main .article-conclusion .article-content > ol li{
  padding-block: 8px;
}
main .article-content.paper-card.spaced > ul li + li,
main .article-content.paper-card.spaced > ol li + li,
main .article-section .article-content > ul li + li,
main .article-section .article-content > ol li + li,
main .deep-guide .article-content > ul li + li,
main .deep-guide .article-content > ol li + li,
main .article-conclusion .article-content > ul li + li,
main .article-conclusion .article-content > ol li + li{
  border-top: 1px solid rgba(119, 77, 43, .08);
}
main .article-content.paper-card.spaced > blockquote,
main .article-section .article-content > blockquote,
main .deep-guide .article-content > blockquote,
main .article-conclusion .article-content > blockquote{
  border-left: 4px solid #c88b42;
  border-radius: 0 18px 18px 0;
  background: linear-gradient(180deg, #faf1e1 0%, #f5ead7 100%);
}
main .article-content.paper-card.spaced > :last-child,
main .article-section .article-content > :last-child,
main .deep-guide .article-content > :last-child,
main .article-conclusion .article-content > :last-child{margin-bottom:0}
@media (max-width: 760px){
  :root{ --editorial-measure: 100%; }
  main .article-shell,
  main .section .article-shell{
    width: calc(100% - var(--buyit-gutter) * 2);
  }
  main .article-content.paper-card.spaced,
  main .article-section .article-content,
  main .deep-guide .article-content,
  main .article-conclusion .article-content{
    padding: 20px 16px 22px;
    border-radius: 20px;
  }
  main .article-content.paper-card.spaced::before,
  main .article-section .article-content::before,
  main .deep-guide .article-content::before,
  main .article-conclusion .article-content::before{ height: 4px; }
  main .article-content.paper-card.spaced > h2:first-child,
  main .article-section .article-content > h2:first-child,
  main .deep-guide .article-content > h2:first-child,
  main .article-conclusion .article-content > h2:first-child{
    font-size: clamp(1.45rem, 6vw, 1.95rem);
    line-height: 1.28;
    margin-bottom: 14px;
  }
  main .article-content.paper-card.spaced > h2 + p,
  main .article-section .article-content > h2 + p,
  main .deep-guide .article-content > h2 + p,
  main .article-conclusion .article-content > h2 + p{
    padding: 13px 14px;
    border-radius: 0 12px 12px 0;
  }
  main .article-content.paper-card.spaced > h3,
  main .article-section .article-content > h3,
  main .deep-guide .article-content > h3,
  main .article-conclusion .article-content > h3{
    max-width: 100%;
    width: 100%;
    padding: 10px 13px;
    border-radius: 14px;
  }
  main .article-content.paper-card.spaced > ul,
  main .article-content.paper-card.spaced > ol,
  main .article-section .article-content > ul,
  main .article-section .article-content > ol,
  main .deep-guide .article-content > ul,
  main .deep-guide .article-content > ol,
  main .article-conclusion .article-content > ul,
  main .article-conclusion .article-content > ol{
    padding: 10px 12px 10px 30px;
    border-radius: 14px;
  }
}

/* BUYIT SEO v27 — unobtrusive contextual reading link + semantic heading. */
main .cms-seo-related{
  width:calc(100% - var(--buyit-gutter,20px) * 2);
  max-width:var(--buyit-shell,1180px);
  margin:24px auto 28px;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  border:1px solid rgba(139,93,45,.16);
  border-radius:15px;
  background:linear-gradient(105deg,#fffaf0,#f3e4ca);
  color:#64432d;
  box-shadow:0 9px 22px rgba(60,37,21,.06);
  font-size:.94rem;
  font-weight:750;
}
main .cms-seo-related a{color:#7c3a1b;font-weight:900;text-decoration:none}
main .cms-seo-related a:hover,main .cms-seo-related a:focus-visible{color:#b85c20;text-decoration:underline;text-underline-offset:3px}
main .cms-seo-generated-h1{max-width:var(--buyit-shell,1180px);margin:16px auto 20px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.35;color:#332016}
@media(max-width:640px){main .cms-seo-related{padding:14px 16px;margin-block:18px;align-items:flex-start;flex-direction:column}}
