/* The Gift Axis — static site styles (no runtime) */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ background:#F7F4EE; }
img{ max-width:100%; }
input,select,textarea{ font-family:'Hanken Grotesk',sans-serif; }
input::placeholder,textarea::placeholder{ color:#A39C8C; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:#B0894A !important; }

/* content is always visible — no JS dependency for first paint */
[data-reveal]{ opacity:1; transform:none; }

/* ---------- hover reconstruction (was JS-driven in the app) ---------- */
a[style*="background: rgb(28, 27, 25)"]:hover{ background:#B0894A !important; }
button[type="submit"]:hover{ background:#B0894A !important; }
a[style*="background: rgb(176, 137, 74)"]:hover{ background:#C6A45F !important; }
a[style*="color: rgb(70, 66, 59)"]:hover{ color:#1C1B19 !important; }
a[style*="rgba(28, 27, 25, 0.22)"]:hover{ border-color:#1C1B19 !important; }
a[style*="box-shadow 0.35s"]:hover{ transform:translateY(-6px) !important; box-shadow:0 26px 48px rgba(28,27,25,0.13) !important; }
[style*="zoom-in"]:hover{ transform:translateY(-4px) !important; box-shadow:0 24px 46px rgba(28,27,25,0.16) !important; }
a[style*="font-family: \"Cormorant Garamond\""][style*="color: rgb(28, 27, 25)"]:hover{ color:#A07D3E !important; }

/* ---------- floating WhatsApp button ---------- */
#tga-wa-fab:hover{ transform:scale(1.07); }
#tga-wa-fab{ transition:transform .2s ease; }
@media print{ #tga-wa-fab{ display:none !important; } }
@media (max-width:860px){ #tga-wa-fab{ right:14px; bottom:80px; width:52px; height:52px; } }

/* ---------- hero / card image sliders ---------- */
[data-hero-slider]{ position:relative; }
[data-hero-slider] .tga-slide{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity .8s ease; }
[data-hero-slider] .tga-slide.active{ opacity:1; }
[data-hero-slider] .tga-slide-dots{ position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:2; }

/* ---------- one-click tabs ---------- */
[data-tab-btn]{ font-family:'Hanken Grotesk',sans-serif; cursor:pointer; }
[data-tab-panel]{ display:none; }
[data-tabs] [data-tab-panel]:first-of-type{ display:grid; }

/* ---------- nav: desktop links vs mobile hamburger ---------- */
nav > a:first-child{ flex-shrink:0; }
nav > a:first-child span{ white-space:nowrap; }
[data-nav="mobile"]{ display:none; }

/* footer social icons hover */
footer [data-social] a{ transition:background .2s ease,color .2s ease,border-color .2s ease; }
footer [data-social] a:hover{ background:#C2A45F; color:#1B1A18; border-color:#C2A45F; }

/* ===== below desktop: hamburger nav + fluid display headings ===== */
@media (max-width:1040px){
  [data-nav="desktop"]{ display:none !important; }
  [data-nav="mobile"]{ display:flex !important; }

  /* scale down large display headings (fluid across tablet + mobile) */
  [style*="font-size: 69px"],[style*="font-size: 60px"],[style*="font-size: 58px"]{ font-size:clamp(34px,6.2vw,58px) !important; }
  [style*="font-size: 54px"],[style*="font-size: 50px"],[style*="font-size: 48px"],[style*="font-size: 46px"]{ font-size:clamp(30px,5.4vw,48px) !important; }
  [style*="font-size: 44px"],[style*="font-size: 42px"],[style*="font-size: 40px"]{ font-size:clamp(26px,4.8vw,42px) !important; }
  [style*="font-size: 34px"]{ font-size:clamp(24px,4vw,34px) !important; }
  img{ height:auto; }
}

/* hide the in-image hero caption below desktop (avoids collision with the 500+ badge on narrow image columns) */
@media (max-width:1040px){
  [data-hero-caption]{ display:none !important; }
}

/* ===== TABLET (681–1040px): keep two columns, moderate spacing ===== */
@media (min-width:681px) and (max-width:1040px){
  [style*="grid-template-columns"]{ grid-template-columns:repeat(2,1fr) !important; }
  /* gallery cards: exactly two per row */
  [style*="cursor:zoom-in"]{ flex:1 1 calc(50% - 16px) !important; max-width:calc(50% - 16px) !important; }
  [style*="padding:"][style*="48px"]{ padding-left:36px !important; padding-right:36px !important; }
  [style*="padding: 158px 48px"]{ padding-top:120px !important; }
  [style*="padding: 150px 48px"]{ padding-top:120px !important; }
  [style*="padding: 160px 48px"]{ padding-top:120px !important; }
}

/* ===== MOBILE (≤680px): single column, tight gutters ===== */
@media (max-width:680px){
  /* gallery cards: full width, one per row (robust: targets the card itself) */
  [style*="max-width:calc(50% - 16px)"],
  [style*="cursor:zoom-in"]{ flex:1 1 100% !important; max-width:100% !important; flex-basis:100% !important; width:100% !important; }
  /* tighten the gallery gap on phones */
  [style*="flex-wrap:wrap"][style*="gap:32px"]{ gap:18px !important; }
  [style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  [style*="padding:"][style*="48px"]{ padding-left:20px !important; padding-right:20px !important; }
  [style*="padding: 158px 48px"]{ padding-top:100px !important; }
  [style*="padding: 150px 48px"]{ padding-top:100px !important; }
  [style*="padding: 160px 48px"]{ padding-top:96px !important; }
  /* let big fixed gaps breathe less on small screens */
  [style*="gap: 64px"]{ gap:36px !important; }
  [style*="gap: 56px"]{ gap:32px !important; }
}

/* keep the desktop nav (with hover dropdowns) on scaled desktops down to 900px — MUST be last to win over the max-width:1040 rule */
@media (min-width:900px){
  [data-nav="desktop"]{ display:flex !important; gap:22px !important; }
  [data-nav="mobile"]{ display:none !important; }
}

/* ---------- scroll progress bar ---------- */
#tga-progress{ position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,#B0894A,#C6A45F); z-index:2000; transition:width .1s linear; pointer-events:none; }

/* ---------- back to top ---------- */
#tga-top{ position:fixed; right:24px; bottom:150px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,0.18); background:#1B1A18; color:#EDE8DE; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s ease, transform .25s ease, background .2s ease; z-index:1400; box-shadow:0 8px 24px rgba(20,18,16,0.28); }
#tga-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
#tga-top:hover{ background:#B0894A; color:#1B1A18; }
@media print{ #tga-progress, #tga-top{ display:none !important; } }
@media (max-width:860px){ #tga-top{ right:14px; bottom:140px; width:42px; height:42px; } }

/* ---------- gentle card hover polish (universal) ---------- */
a[href][style*="transition:transform"]:hover img{ transform:scale(1.03); }
a[href][style*="transition:transform"] img{ transition:transform .5s ease; }
