/* GringoBox Tienda — Build 086 layer (loaded after tienda.css; nothing there is removed).
   Three product states, marketplace browsing (departments, suggestions, filters, paging), approved artwork at or below native size. */
:root{ --loc-cr:#1FA463; --loc-cr-bg:#E3F6EA; --loc-cr-ink:#0E4F28; --loc-tampa:#FF8B1F; --loc-tampa-bg:#FFF1DC; --loc-tampa-ink:#7A3C00;
  --loc-us:#0073CE; --loc-us-bg:#E5F0FB; --loc-us-ink:#00406F; }
body.td-noscroll{overflow:hidden}

/* test-mode strip */
.td-strip.test{background:repeating-linear-gradient(45deg,#FFD166 0 14px,#FFC94A 14px 28px);color:#3B2600}

/* search with suggestions */
.td-search{position:relative;overflow:visible}
.td-search input{border-radius:12px 0 0 12px}
.td-search button{border-radius:0 11px 11px 0}
.td-sug{position:absolute;left:-2px;right:-2px;top:calc(100% + 4px);background:#fff;border:2px solid var(--blue);border-radius:14px;box-shadow:0 14px 30px rgba(29,53,87,.22);z-index:45;overflow:hidden;max-height:70vh;overflow-y:auto}
.td-sug a{display:flex;flex-direction:column;gap:1px;padding:10px 14px;text-decoration:none;color:var(--deep);border-bottom:1px solid var(--line);font-weight:700;font-size:14px;min-width:0}
.td-sug a:hover,.td-sug a:focus{background:#F4F8FC}
.td-sug a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-sug a small{color:var(--ink-soft);font-weight:700;font-size:12px}
.td-sug a i{font-style:normal;margin-right:6px}
.td-sug a.all{color:var(--blue);font-weight:800}
.td-sug a:has(i){flex-direction:row;align-items:center;gap:4px}

/* category bar: departments button + three state chips */
.td-cat.depts{background:var(--deep);color:#fff;border:0;font:inherit;font-weight:800;cursor:pointer}
.td-cat.lane{display:inline-flex;align-items:center;gap:6px}
.td-cat.lane img{width:18px;height:18px;border-radius:5px}
.td-cat.lane.cr{border-color:var(--loc-cr)}.td-cat.lane.tampa{border-color:var(--loc-tampa)}.td-cat.lane.us{border-color:var(--loc-us)}

/* departments drawer */
.td-depts{position:fixed;inset:0;z-index:80;background:rgba(19,41,61,.45);display:flex}
.td-depts[hidden]{display:none}
.td-depts-in{background:#fff;width:min(360px,88vw);height:100%;overflow-y:auto;box-shadow:6px 0 30px rgba(0,0,0,.2);padding-bottom:30px}
.td-depts-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:var(--deep);color:#fff;padding:14px 16px;font-size:16px;z-index:1}
.td-depts-head button{border:0;background:rgba(255,255,255,.15);color:#fff;width:40px;height:40px;border-radius:12px;font-size:18px;cursor:pointer}
.td-depts-sec{padding:10px 8px;border-bottom:1px solid var(--line)}
.td-depts-sec small{display:block;padding:4px 8px 6px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;color:var(--ink-soft)}
.td-depts-sec a{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:12px;text-decoration:none;color:var(--deep);font-weight:800;font-size:15px;min-height:44px}
.td-depts-sec a:hover{background:#F4F8FC}
.td-depts-sec a.sub{padding-left:42px;font-weight:700;font-size:14px;color:var(--ink)}
.td-depts-sec a i{font-style:normal;width:22px;text-align:center}
.td-depts-sec a em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--ink-soft);background:#EEF3F8;border-radius:999px;padding:2px 8px}
.td-depts-sec p{margin:6px 10px;color:var(--ink-soft);font-weight:700}

/* hero with the approved hammock scene (shown at or below its 887 px width) */
.td-hero2 .td-slide.wide{grid-template-columns:minmax(0,1fr) minmax(0,560px)}
.td-hero2 .td-slide.wide .art img{max-width:100%;max-height:none;width:100%;height:auto;border-radius:16px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.td-hero2 .td-slide .art img{max-width:228px;max-height:170px}
@media(max-width:760px){
  .td-hero2 .td-slide.wide{grid-template-columns:minmax(0,1fr)}
  .td-hero2 .td-slide.wide .art{order:-1;margin:-4px -2px 4px}
}
@media(max-width:560px){ .td-hero2 .td-slide:not(.wide){grid-template-columns:minmax(0,1fr) 110px} .td-hero2 .td-slide:not(.wide) .art img{max-width:110px} }

/* three ways to shop */
.td-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:860px){ .td-lanes{grid-template-columns:minmax(0,1fr)} }
.td-lane{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:20px;text-decoration:none;color:var(--deep);border:2px solid;background:#fff;box-shadow:var(--shadow);transition:transform .15s;min-width:0}
.td-lane:hover{transform:translateY(-2px)}
.td-lane.cr{border-color:var(--loc-cr);background:linear-gradient(135deg,#fff 55%,var(--loc-cr-bg))}
.td-lane.tampa{border-color:var(--loc-tampa);background:linear-gradient(135deg,#fff 55%,var(--loc-tampa-bg))}
.td-lane.us{border-color:var(--loc-us);background:linear-gradient(135deg,#fff 55%,var(--loc-us-bg))}
.td-lane .art{line-height:0;border-radius:14px;overflow:hidden;background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.td-lane .art img{width:100%;height:100%;object-fit:cover;display:block}
.td-lane .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.td-lane b{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:400;font-size:17px;line-height:1.15;overflow-wrap:anywhere}
.td-lane b img{border-radius:7px;flex:0 0 auto}
.td-lane small{font-weight:700;color:var(--ink-soft);font-size:13px;line-height:1.35}
.td-lane em{font-style:normal;font-weight:800;font-size:13.5px}
.td-lane.cr em{color:var(--loc-cr-ink)}.td-lane.tampa em{color:var(--loc-tampa-ink)}.td-lane.us em{color:var(--loc-us-ink)}

/* section art (approved crops, never enlarged) */
.td-sechead{position:relative}
.td-secart{width:auto;height:64px;border-radius:12px;flex:0 0 auto;object-fit:cover}
@media(max-width:560px){ .td-secart{height:48px} }
.td-ship img{width:auto;height:58px;border-radius:12px;flex:0 0 auto}
.td-trust2 img{width:40px;height:40px;border-radius:10px;flex:0 0 auto}
.td-freight{margin:16px 0 0;font-size:12.5px;font-weight:700;color:var(--ink-soft);line-height:1.5}

/* category tiles with tropical scene strips */
.td-tiles2{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media(max-width:420px){ .td-tiles2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} }
.td-tile2{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--deep);box-shadow:0 1px 2px rgba(29,53,87,.05);transition:transform .15s,box-shadow .15s;min-width:0}
.td-tile2:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.td-tile2 .scene{position:relative;display:block;line-height:0;background:var(--g)}
.td-tile2 .scene img{width:100%;max-width:204px;height:76px;object-fit:cover;display:block;margin:0 auto}
.td-tile2 .scene i{position:absolute;right:8px;bottom:-16px;font-style:normal;font-size:24px;width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.15)}
.td-tile2 b{font-family:var(--font-display);font-weight:400;font-size:15.5px;line-height:1.15;padding:12px 12px 2px;overflow-wrap:anywhere}
.td-tile2 small{padding:0 12px 12px;font-weight:800;font-size:12px;color:var(--ink-soft)}

/* location badges (the three states) */
.td-badge.td-loc{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 4px}
.td-badge.td-loc img{width:18px;height:18px;border-radius:5px}
.td-badge.td-loc.cr{background:var(--loc-cr-bg);color:var(--loc-cr-ink)}
.td-badge.td-loc.tampa{background:var(--loc-tampa-bg);color:var(--loc-tampa-ink)}
.td-badge.td-loc.us{background:var(--loc-us-bg);color:var(--loc-us-ink)}
.td-badge.td-loc.out{background:#ECEFF3;color:#4A5568}
.td-badge.inline{position:static;display:inline-flex;max-width:100%}
.td-badge.testb{background:#FFD166;color:#3B2600}
.td-flag.hot{background:#E63946;color:#fff}
.td-pd .avail.loc{display:flex;gap:12px;align-items:flex-start}
.td-pd .avail.loc img{border-radius:10px;flex:0 0 auto}
.td-pd .avail.cr{background:var(--loc-cr-bg);color:var(--loc-cr-ink)}
.td-pd .avail.tampa{background:var(--loc-tampa-bg);color:var(--loc-tampa-ink)}
.td-pd .avail.us{background:var(--loc-us-bg);color:var(--loc-us-ink)}

/* branded photo placeholder */
.td-ph2{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;padding:10px;color:#fff;text-align:center}
.td-ph2 img{width:auto;max-width:72%;max-height:64%;height:auto;object-fit:contain;background:transparent;border-radius:12px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}
.td-ph2 i{position:absolute;right:10px;top:10px;font-style:normal;font-size:24px;line-height:1}
.td-ph2 small{font-weight:800;font-size:11.5px;background:rgba(255,255,255,.25);padding:3px 8px;border-radius:999px}
.td-pic.big{border-radius:16px;aspect-ratio:1/1}
.td-line .td-ph2 small,.td-line .td-ph2 i{display:none}
.td-line .td-ph2 img{max-width:90%;max-height:90%}

/* gallery */
.td-gal .main{aspect-ratio:1/1;border-radius:16px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.td-gal .main img{width:100%;height:100%;object-fit:contain}
.td-gal .thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}
.td-gal .thumbs button{flex:0 0 64px;height:64px;border-radius:12px;border:2px solid var(--line);background:#fff;padding:0;overflow:hidden;cursor:pointer}
.td-gal .thumbs button.on{border-color:var(--blue)}
.td-gal .thumbs img{width:100%;height:100%;object-fit:cover}

/* pay today / balance on the product page */
.td-paynow{display:grid;gap:6px;margin:10px 0 0;padding:12px 14px;border-radius:14px;background:#F4F8FC;border:1px solid var(--line);font-weight:700;font-size:14px}
.td-paynow div{display:flex;justify-content:space-between;gap:10px}
.td-paynow b{color:var(--ok);white-space:nowrap}
.td-paynow .note{color:var(--ink-soft);font-size:12.5px;display:block}

/* listing: filters panel */
.td-listwrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.td-listmain{min-width:0}
.td-filters{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;position:sticky;top:150px}
.td-filters .fh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--deep)}
.td-filters fieldset{border:0;border-top:1px solid var(--line);margin:8px 0 0;padding:10px 0 0;min-width:0}
.td-filters legend{font-weight:800;font-size:13px;color:var(--deep);padding:0;margin-bottom:6px}
.td-filters label.rad,.td-filters label.chk2{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;padding:6px 0;cursor:pointer;color:var(--ink)}
.td-filters label img{border-radius:5px}
.td-filters select,.td-filters input{width:100%;min-height:42px;border-radius:12px;border:1.5px solid var(--line);font:inherit;font-size:16px;padding:0 10px;background:#fff;color:var(--deep)}
.td-filters .pr{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}
.td-linkbtn{border:0;background:none;color:var(--blue);font:inherit;font-weight:800;cursor:pointer;padding:6px}
.td-fbtn{display:none}
@media(max-width:900px){
  .td-listwrap{grid-template-columns:minmax(0,1fr)}
  .td-filters{display:none;position:static}
  .td-filters.open{display:block}
  .td-fbtn{display:inline-flex;align-items:center;gap:6px}
}
.td-moreb{text-align:center;margin:18px 0 4px}
.td-subcats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.td-subcats a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--deep);font-weight:800;font-size:13.5px;text-decoration:none}
.td-subcats a.on{background:var(--deep);border-color:var(--deep);color:#fff}
.td-subcats a em{font-style:normal;font-size:12px;opacity:.75}
.td-h2ic{vertical-align:middle;margin-right:8px;border-radius:8px}
.td-lanehead{display:flex;gap:14px;align-items:center;padding:12px;border-radius:18px;margin:0 0 14px;border:2px solid}
.td-lanehead img{width:auto;height:110px;max-width:42%;object-fit:cover;border-radius:14px}
.td-lanehead p{margin:0;font-weight:700;font-size:14.5px;line-height:1.5}
.td-lanehead.cr{border-color:var(--loc-cr);background:var(--loc-cr-bg);color:var(--loc-cr-ink)}
.td-lanehead.tampa{border-color:var(--loc-tampa);background:var(--loc-tampa-bg);color:var(--loc-tampa-ink)}
.td-lanehead.us{border-color:var(--loc-us);background:var(--loc-us-bg);color:var(--loc-us-ink)}
@media(max-width:480px){ .td-lanehead img{height:84px} }

/* cart grouped by state */
.td-cgroup{margin-top:8px}
.td-cgroup h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:12px 0 2px;padding:6px 10px;border-radius:10px}
.td-cgroup h3 img{border-radius:6px}
.td-cgroup.cr h3{background:var(--loc-cr-bg);color:var(--loc-cr-ink)}.td-cgroup.tampa h3{background:var(--loc-tampa-bg);color:var(--loc-tampa-ink)}.td-cgroup.us h3{background:var(--loc-us-bg);color:var(--loc-us-ink)}
.td-cgroup.out h3{background:#ECEFF3;color:#4A5568}
.td-sum .pay{color:var(--ok);font-size:17px;font-weight:800}
.td-small{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:10px 0 0}
.td-done .td-doneart{float:right;width:auto;max-width:34%;height:auto;border-radius:14px;margin:0 0 8px 10px}
.td-testp{background:#FFD166;color:#3B2600;border-radius:10px;padding:6px 10px;font-weight:800;display:inline-block}
#ck-deliv .gbd-fields{margin-left:0}
/* layout polish (086 review) */
.td-sechead{gap:12px;justify-content:flex-start;align-items:center}
.td-sechead .td-more{margin-left:auto}
.td-prod .td-ph2 small{display:none}
@media(max-width:560px){
  .td-secart{display:none}
  .td-lane{grid-template-columns:88px minmax(0,1fr);padding:10px;gap:10px}
  .td-lane b{font-size:15px}
  .td-lanes{gap:10px}
}
.td-filters label.rad input,.td-filters label.chk2 input{width:18px;height:18px;min-height:0;flex:0 0 auto;margin:0;padding:0}
.td-filters label.rad,.td-filters label.chk2{justify-content:flex-start;text-align:left}

/* 086.1: amounts never wrap (e.g. "≈ ₡16,134") */
.td-done .sum .r > span:last-child,.td-sum .r > span:last-child:not(.td-small){white-space:nowrap;padding-left:8px}

/* 086.2: totals dim while the server recalculates */
.td-sum.calc .tot,.td-sum.calc .pay{opacity:.45;transition:opacity .15s}
.td-sum .td-calcrow span:first-child{font-weight:800;color:var(--ink-soft,#5b6478)}
/* 087.1: stock line for items with more than 3 left (CR / Tampa); TEST label on cards */
.td-stock{font-size:12px;font-weight:800;color:#0E7A4F}
.td-pbody .td-badge.testb.inline{align-self:flex-start;margin-bottom:2px}

/* 095: canonical #04 header in the store hero (mascot, "¡Pura Vida!" sign, toucan), cropped by the frame only (no stretching:
   the frame is never taller than the 213 px picture, so it is always drawn at or below its real size) */
.td-hero2 .td-slide.wide .art img.hdr{aspect-ratio:746/213;max-width:746px;object-fit:cover;object-position:100% 50%;background:#BFE6FA}   /* the right 746 px: mascot, sign, flag, toucan (the logo is already in the store header) */
/* 095: the delivered customer and Tico stay in view in the square "En Costa Rica" tile */
.td-lane.cr .art img{object-position:74% 50%}
.td-lanehead.cr img{object-position:74% 50%}

/* ===== 096 private preview (Admins only) ===== */
body.td-preview .td-cartbtn,body.td-preview .td-float{display:none!important}
.td-strip.pv{background:linear-gradient(90deg,#3B1F7A,#00579C);color:#fff}
.td-badge.td-loc.review{background:#EEE8FB;color:#3B1F7A}
.td-pd .avail.review{background:#EEE8FB;color:#2A1560}
.td-flags{position:absolute;left:8px;top:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none;z-index:1}
.td-flags.inline{position:static;pointer-events:auto}
.td-flags .td-flag{position:static;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;line-height:1.25;white-space:nowrap}
.td-flag.keep{background:#FFD166;color:#3B2600}
.td-flag.imgq{background:#FFF1DC;color:#8A4500}
.td-flag.imgq.none{background:#ECEFF3;color:#2D3748}
.td-flag.comp{background:#FDE2E4;color:#9B1C24}
.td-add.pv{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--blue)}
.td-price.tbc{font-size:18px;color:#4A5568;font-family:var(--font-body);font-weight:800}
.td-pd .td-price.tbc{font-size:20px}
.td-pvstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:14px 0}
.td-pvstat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;text-decoration:none;color:var(--deep);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.td-pvstat b{display:block;font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.1;color:var(--blue)}
.td-pvstat span{font-size:13px;font-weight:700;color:#4A5568}
.td-pvnote{background:#EEE8FB;color:#2A1560;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5;margin:10px 0}
.td-pvwarn{background:#FFF4E3;color:#6B3A00;border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:700;line-height:1.45;margin-top:10px}
.td-gal .main.zoomable{position:relative;cursor:zoom-in;padding:0;width:100%}
.td-gal .main .zoomhint{position:absolute;right:10px;bottom:10px;background:rgba(0,40,80,.78);color:#fff;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px}
.td-imgfail{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:12.5px;font-weight:700;color:#4A5568;width:100%;height:100%}
.td-desc.muted{color:#718096;font-style:italic}
.td-pvreview{margin-top:16px;border:1px dashed #9F8AD6;border-radius:14px;padding:10px 14px;background:#FAF8FF;font-size:14px}
.td-pvreview summary{font-weight:800;color:#2A1560;cursor:pointer;padding:4px 0}
.td-pvreview .kv{display:grid;gap:6px;margin-top:8px}
.td-pvreview .kv div{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:8px}
.td-pvreview .kv span{color:#4A5568;font-weight:700}
.td-pvreview .kv b{font-weight:700;color:#1A202C;overflow-wrap:anywhere}
.td-pvreview .sub{font-weight:800;color:#2A1560;margin:12px 0 4px}
.td-pvreview ul{margin:0;padding-left:18px;line-height:1.5}
.td-pvreview .notes{margin:0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.td-zoom{position:fixed;inset:0;z-index:1000;background:rgba(10,20,35,.88);display:flex;align-items:center;justify-content:center;padding:16px}
.td-zoom[hidden]{display:none}
.td-zoom .zin{position:relative;min-width:min(560px,100%);min-height:min(420px,80vh);justify-content:center;background:#fff;border-radius:18px;padding:14px;max-width:min(920px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.td-zoom .zin img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:10px}
.td-zoom .cap{text-align:center;padding:0 44px;font-size:13.5px;line-height:1.4;color:#2D3748}.td-zoom .cap b{display:block;color:var(--deep)}
.td-zoom .x{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;border:0;background:#EDF2F7;font-size:18px;cursor:pointer;z-index:2}
.td-zoom .nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:28px;line-height:1;cursor:pointer}
.td-zoom .nav.prev{left:8px}.td-zoom .nav.next{right:8px}
body.td-preview .td-prod .td-price{font-family:var(--font-body);font-size:14px;font-weight:800;color:#4A5568;letter-spacing:0;text-transform:none}

/* 098.3: payment-method chooser on the order confirmation (details only after a method is chosen) */
.td-pmopts{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px}.td-pmopts .td-pmopt{flex:1 1 140px;min-height:44px;white-space:normal}.td-pmopts .td-pmopt.on{background:var(--deep,#1D3557);color:#fff;border-color:var(--deep,#1D3557)}.td-paidok{border-color:#9AD8B0;background:#E3F6EA}
