/* ============================================================
   TinyYachts Postcard Design System v1.0
   World: vintage Florida linen postcard (locked Aug 2026).
   Vocabulary: marina (pool) / dock (arrivals) / slip (listing)
   / Dock Queens (featured).
   ============================================================ */

:root{
  --ty-sky:#31B5E6; --ty-skyhi:#7ED3F2; --ty-sun:#FFEFC9;
  --ty-coral:#FF5A4E; --ty-teal:#0E8FA3; --ty-navy:#16324F;
  --ty-cream:#FFF9EE; --ty-mustard:#F5B940; --ty-ink:#1C3A57;
}

/* ---------- motion kill switch ---------- */
@media (prefers-reduced-motion: reduce){
  body.ty *,body.ty *::before,body.ty *::after{
    animation-duration:.001s !important;
    animation-iteration-count:1 !important;
    transition-duration:.001s !important;
  }
}

/* ---------- global ground ---------- */
body.ty{
  font-family:"Nunito Sans",system-ui,sans-serif;
  color:var(--ty-ink);
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgba(22,50,79,.03) 0 1px,transparent 1px 3px),
    var(--ty-cream);
}
body.ty ::selection{background:var(--ty-mustard);color:var(--ty-navy)}
body.ty :focus-visible{outline:3px solid var(--ty-coral);outline-offset:2px}

/* ---------- Blocksy header -> navy postcard header ---------- */
body.ty #header .ct-container,
body.ty #header [class*="ct-container"]{background:transparent}
body.ty #header > div,
body.ty #header{background:var(--ty-navy) !important;border-bottom:6px solid var(--ty-coral)}
body.ty #header .site-title,
body.ty #header .site-title a{
  font-family:"Alfa Slab One",serif !important;
  color:var(--ty-cream) !important;
  letter-spacing:.02em;
}
body.ty #header .ct-menu-link,
body.ty #header nav a{
  color:#B8CFE0 !important;
  font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:.03em;
}
body.ty #header .ct-menu-link:hover,
body.ty #header nav a:hover{color:var(--ty-mustard) !important}
body.ty .ct-header-trigger, body.ty .ct-toggle{color:var(--ty-cream) !important}
body.ty #header [data-row]{background:transparent !important}
body.ty #footer [data-row]{background:transparent !important}

/* full-bleed content on postcard-hero pages (defeat is-layout-constrained) */
body.ty.ty-no-title #main{padding:0 !important}
body.ty.ty-no-title .ct-container-full{padding-bottom:0 !important}
body.ty.ty-no-title .entry-content > :last-child{margin-bottom:0 !important}
body.ty.ty-no-title #main article{padding-bottom:0 !important;margin-bottom:0 !important}
body.ty.ty-no-title #main article{margin:0;padding:0}
body.ty.ty-no-title .entry-content{margin:0 !important}
body.ty.ty-no-title .entry-content > *{max-width:none !important;width:100% !important;margin-left:0 !important;margin-right:0 !important}
body.ty.ty-no-title .ct-container-full{padding-top:0 !important}
body.home .adverts-list{max-width:1132px;margin:34px auto 0 !important;padding:0 24px}

/* ---------- Blocksy footer -> navy ---------- */
body.ty #footer{background:#10263C !important;color:#8FB0C8}
body.ty #footer a{color:#8FB0C8}
body.ty #footer a:hover{color:var(--ty-sun)}
body.ty #footer .ct-container{color:#8FB0C8}

/* ---------- hide theme page title where the page brings its own hero ---------- */
body.ty.ty-no-title .entry-header,
body.ty.home .entry-header{display:none}
body.ty .page .entry-header .page-title{
  font-family:"Alfa Slab One",serif;color:var(--ty-navy)
}

/* ---------- shared components (postcard world) ---------- */
.vb-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.vb-cta{background:var(--ty-coral);color:#fff !important;border:0;border-radius:8px;padding:12px 20px;font-weight:900;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:none;box-shadow:0 3px 10px rgba(12,24,36,.35);transition:transform .15s,background .2s;display:inline-block}
.vb-cta:hover{background:#E8443C;transform:translateY(-1px)}

/* hero */
.vb-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--ty-skyhi) 0%,var(--ty-sky) 55%,#1FA3CF 100%);color:#fff;text-align:center;--sun-x:76%;--sun-y:20%}
.vb-sunburst{position:absolute;inset:0;background:repeating-conic-gradient(from -8deg at var(--sun-x) var(--sun-y),rgba(255,245,210,.17) 0deg 6deg,transparent 6deg 15deg);pointer-events:none}
.vb-sunel{position:absolute;left:var(--sun-x);top:var(--sun-y);transform:translate(-50%,-50%);width:clamp(96px,13vw,160px);z-index:1;pointer-events:none;--sun-core:#FFD84D;--sun-ray:#FFEFC9}
.vb-sunel svg{display:block;width:100%;animation:vb-sunspin 90s linear infinite}
@keyframes vb-sunspin{to{transform:rotate(360deg)}}
.vb-dusk{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,150,70,0) 10%,rgba(255,120,50,.5) 100%);opacity:0;pointer-events:none;z-index:1}
.vb-palm{position:absolute;bottom:-8px;z-index:3;color:#0F3448;pointer-events:none}
.vb-palm.pl{left:-2%;width:clamp(120px,17vw,220px)}
.vb-palm.pr{right:-3%;width:clamp(140px,20vw,260px);transform:scaleX(-1)}
.vb-clouds{position:absolute;left:0;right:0;top:6%;pointer-events:none;opacity:.95}
.vb-hero-in{position:relative;z-index:2;padding:64px 24px 0}
.vb-greet{font-family:"Pacifico",cursive;font-size:clamp(1.4rem,3vw,2.1rem);color:var(--ty-sun);text-shadow:0 2px 0 rgba(22,50,79,.45),0 4px 12px rgba(16,30,40,.35);transform:rotate(-3deg);margin:0}
.vb-big{font-family:"Alfa Slab One",serif;font-size:clamp(2.6rem,8.4vw,6rem);line-height:.98;letter-spacing:.005em;color:#fff;text-shadow:0 4px 0 var(--ty-teal),0 8px 24px rgba(16,30,40,.35);margin:6px 0 0}
.vb-big .row2{display:block;color:var(--ty-sun);text-shadow:0 4px 0 var(--ty-coral),0 8px 24px rgba(16,30,40,.35)}
.vb-tag{margin:16px 0 0;font-weight:700;font-size:clamp(1rem,2vw,1.2rem);color:#EAF9FF;letter-spacing:.01em}
.vb-tag em{font-style:italic;color:var(--ty-sun)}
.vb-hero-search{position:relative;z-index:2;margin:30px auto 0;max-width:640px;background:var(--ty-cream);border-radius:14px;padding:8px;display:flex;gap:8px;box-shadow:0 16px 40px -12px rgba(16,26,34,.45);border:3px solid var(--ty-navy)}
.vb-hero-search input[type="text"]{flex:1;border:0;background:transparent;padding:12px 14px;font-weight:700;color:var(--ty-navy);min-width:0;font-family:inherit;font-size:1rem}
.vb-hero-search input[type="text"]::placeholder{color:#7A93A8;opacity:1}
.vb-hero-search button{background:var(--ty-teal);color:#fff;border:0;border-radius:9px;padding:12px 22px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;font-size:.9rem;cursor:pointer;transition:background .2s;font-family:inherit}
.vb-hero-search button:hover{background:#0B7A8C}
.vb-water{position:relative;z-index:1;margin-top:44px}
.vb-water svg{width:100%;display:block}

/* bay + hoverable fleet */
.vb-bay{position:relative;z-index:2;max-width:900px;margin:-104px auto 0;display:flex;justify-content:center;align-items:flex-end;gap:6%;padding:0 24px}
.vb-bay-label{position:absolute;top:-58px;left:50%;transform:translateX(-50%) rotate(-2deg);font-family:"Pacifico",cursive;font-size:clamp(1.05rem,2.2vw,1.5rem);color:#FFF9EE;text-shadow:0 2px 6px rgba(10,14,18,.5);white-space:nowrap;pointer-events:none}
.vb-bay-label small{display:block;font-family:"Nunito Sans",sans-serif;font-weight:700;font-size:.62em;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#CBEFF7;margin-top:2px}
.vb-buoy{position:relative;width:22%;border:0;background:none;padding:0;cursor:pointer}
.vb-buoy > svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 12px rgba(16,26,34,.35));animation:vb-bob 5.5s ease-in-out infinite alternate;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.vb-buoy:nth-child(2) > svg{animation-delay:-1.8s}
.vb-buoy:nth-child(3) > svg{animation-delay:-3.6s}
.vb-buoy:hover > svg,.vb-buoy:focus-visible > svg{transform:translateY(-5px) scale(1.05)}
@keyframes vb-bob{from{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(4px) rotate(.7deg)}}
.vb-bpop{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%) rotate(-2deg) translateY(6px);width:190px;background:#FFFDF6;border:2px solid var(--ty-navy);box-shadow:0 10px 22px rgba(12,24,36,.35);padding:10px 12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:8;text-align:left}
.vb-buoy:hover .vb-bpop,.vb-buoy:focus-visible .vb-bpop{opacity:1;transform:translateX(-50%) rotate(-2deg) translateY(0)}
.vb-bpop .bp-price{display:block;font-weight:900;color:var(--ty-navy);font-size:1.05rem;font-variant-numeric:tabular-nums}
.vb-bpop .bp-name{display:block;font-weight:700;font-size:.82rem;color:var(--ty-ink);margin-top:2px}
.vb-bpop .bp-note{display:block;font-family:"Pacifico",cursive;color:var(--ty-teal);font-size:.86rem;margin-top:3px}
.vb-bpop::after{content:"";position:absolute;top:100%;left:50%;margin-left:-7px;border:7px solid transparent;border-top-color:var(--ty-navy)}

/* pennants */
.vb-pennants{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:56px 24px 8px}
.vb-pennant{--pc:var(--ty-teal);position:relative;background:var(--pc);color:#fff !important;font-weight:900;letter-spacing:.05em;text-transform:uppercase;font-size:.82rem;padding:10px 30px 10px 16px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%);cursor:pointer;border:0;transition:transform .15s;text-decoration:none;display:inline-block}
.vb-pennant:hover{transform:translateY(-2px) rotate(-1deg)}
.vb-pennant.c2{--pc:var(--ty-coral)} .vb-pennant.c3{--pc:var(--ty-mustard);color:var(--ty-navy) !important} .vb-pennant.c4{--pc:var(--ty-navy)} .vb-pennant.c5{--pc:#3D9970}

/* sections + headings */
.vb-section{padding:56px 0 72px}
.vb-h2{font-family:"Alfa Slab One",serif;font-size:clamp(1.5rem,3.2vw,2.2rem);color:var(--ty-navy);text-align:center;margin:0}
.vb-h2 .script{display:block;font-family:"Pacifico",cursive;font-size:.55em;color:var(--ty-coral);transform:rotate(-2deg);margin-bottom:6px}

/* postcard cards (custom markup) */
.vb-rack{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin-top:44px}
.vb-post{background:#FFFDF6;border:1px solid #E7DDC8;box-shadow:0 10px 24px -8px rgba(26,23,18,.25);padding:12px 12px 16px;transform:rotate(var(--tilt,-1.2deg));transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;text-decoration:none;display:block;position:relative;color:var(--ty-ink)}
.vb-post:nth-child(2n){--tilt:1.4deg}
.vb-post:nth-child(3n){--tilt:-.6deg}
.vb-post:hover{transform:rotate(0) translateY(-6px) scale(1.02);box-shadow:0 22px 44px -12px rgba(26,23,18,.35);z-index:2}
.vb-post-img{aspect-ratio:3/2;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,var(--ty-skyhi) 0%,var(--ty-sky) 62%,var(--ty-teal) 100%)}
.vb-post-img img{width:100%;height:100%;object-fit:cover}
.vb-stamp{position:absolute;top:18px;right:18px;background:var(--ty-cream);border:2px dashed var(--ty-coral);color:var(--ty-coral);font-weight:900;font-size:.78rem;padding:6px 8px;transform:rotate(4deg);font-variant-numeric:tabular-nums;line-height:1.15;text-align:center;box-shadow:0 2px 6px rgba(26,23,18,.2);z-index:2}
.vb-stamp small{display:block;font-size:.56rem;letter-spacing:.08em;font-weight:700}
.vb-post-body{padding:12px 6px 0}
.vb-post-title{font-weight:900;font-size:1.02rem;color:var(--ty-navy)}
.vb-post-note{font-family:"Pacifico",cursive;color:var(--ty-teal);font-size:.95rem;margin-top:4px}
.vb-post-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:.8rem;font-weight:700;color:#7A6F58;letter-spacing:.02em}

/* navy band (sell CTA) */
.vb-sell{margin:24px 0 0;background:var(--ty-navy);color:var(--ty-cream);position:relative;overflow:hidden}
.vb-sell-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:64px 24px;max-width:1180px;margin:0 auto}
.vb-sell h2{font-family:"Alfa Slab One",serif;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.1;margin:0;color:var(--ty-cream)}
.vb-sell h2 span{color:var(--ty-mustard)}
.vb-sell p{margin:14px 0 0;line-height:1.6;color:#B8CFE0;max-width:46ch}
.vb-sell .vb-cta{margin-top:24px;font-size:1rem;padding:14px 24px}
.vb-card-mock{background:var(--ty-cream);color:var(--ty-ink);padding:22px;box-shadow:0 18px 40px -12px rgba(0,10,20,.5);transform:rotate(1.6deg);position:relative}
.vb-card-mock::before{content:"";position:absolute;top:14px;right:14px;width:52px;height:62px;border:2px dashed var(--ty-teal);background:repeating-linear-gradient(45deg,rgba(14,143,163,.12) 0 4px,transparent 4px 8px)}
.vb-card-mock h3{font-family:"Pacifico",cursive;color:var(--ty-coral);font-size:1.3rem;margin:0 0 14px}
.vb-line{border-bottom:2px solid #D8CBAF;padding:9px 2px;font-weight:700;color:#8A7D62;font-size:.9rem;display:flex;gap:8px}
.vb-line b{color:var(--ty-navy);font-weight:900}

/* ---------- WP Adverts: search form -> The Booking Desk
   (live DOM: .adverts-search > form.adverts-search-form; submit is
   a.adverts-form-submit.adverts-button-small inside .adverts-options-right) ---------- */
/* live DOM on /boats: div.adverts-options is the OUTER search wrapper and
   contains form.adverts-search-form; the submit is a.adverts-form-submit. */
body.ty .adverts-options{
  background:var(--ty-cream) !important;border:3px solid var(--ty-navy);
  box-shadow:0 18px 44px -14px rgba(16,26,34,.45);
  padding:20px 24px;margin:0 auto 10px;max-width:1036px;
}
body.ty .adverts-options::after{content:"";display:block;clear:both}
/* central fix: plugin's .adverts-button family carries fixed height/line-height
   that bottom-shifts labels under our padding — normalize once for all controls */
body.ty a.adverts-form-submit,
body.ty a.adverts-button,
body.ty input.adverts-button[type="submit"],
body.ty .adverts-form input[type="submit"]{
  height:auto !important;min-height:0 !important;line-height:1.2 !important;
  display:inline-flex !important;align-items:center;justify-content:center;gap:7px;
  box-sizing:border-box;vertical-align:middle;
}
body.ty a.adverts-form-submit [class*="adverts-icon"],
body.ty a.adverts-button [class*="adverts-icon"]{line-height:1;display:inline-block}
body.ty .adverts-search,
body.ty .adverts-search-form{background:none !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;max-width:none !important}
.adverts-search-form .advert-input{margin-bottom:10px}
.adverts-search-form input[type="text"],
.adverts-search-form select{border:2px solid var(--ty-navy);background:#FFFDF6;padding:10px 12px;font-weight:700;color:var(--ty-navy);width:100%;font-family:inherit}
.adverts-search-form input[type="text"]::placeholder{color:#6E6146;opacity:1}
body.ty a.adverts-form-submit,
body.ty a.adverts-form-submit:visited{
  background:var(--ty-teal) !important;color:#fff !important;border:2px solid var(--ty-navy) !important;
  padding:11px 22px !important;font-weight:900 !important;letter-spacing:.04em;text-transform:uppercase;
  text-decoration:none !important;display:inline-block;cursor:pointer;font-family:inherit !important;
  border-radius:0 !important;font-size:.9rem !important;transition:background .2s;line-height:1.2;
}
body.ty a.adverts-form-submit:hover{background:#0B7A8C !important}
body.ty a.adverts-form-submit .adverts-icon-search{color:#fff}
body.ty a.adverts-form-filters{color:var(--ty-teal) !important;font-weight:700;text-decoration:none;background:none !important;border:0 !important}
body.ty a.adverts-form-filters:hover{text-decoration:underline}

/* ---------- WP Adverts: list -> postcard grid (written against live DOM:
   .advert-item > .advert-img, span.advert-link > .advert-link-text,
   a.advert-link-wrap (overlay), .advert-published, .advert-location, .advert-price) ---------- */
body.ty .adverts-list{display:grid !important;grid-template-columns:repeat(3,1fr);gap:34px 28px;margin-top:34px;background:none !important;border:0 !important}
body.ty .adverts-list .advert-item,
body.ty .adverts-list .advert-item-col-1,
body.ty .adverts-list .advert-item-col-2,
body.ty .adverts-list .advert-item-col-3,
body.ty .adverts-list .advert-item-col-4{
  width:100% !important;max-width:none !important;min-width:0 !important;
  float:none !important;margin:0 !important;height:auto !important;box-sizing:border-box;
  background:#FFFDF6;border:1px solid #E7DDC8 !important;
  box-shadow:0 10px 24px -8px rgba(26,23,18,.25);padding:12px 12px 16px;
  transform:rotate(var(--tilt,-1.2deg));
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;
  position:relative;display:flex;flex-direction:column;overflow:visible;
}
body.ty .adverts-list .advert-item:nth-child(2n){--tilt:1.4deg}
body.ty .adverts-list .advert-item:nth-child(3n){--tilt:-.6deg}
body.ty .adverts-list .advert-item:hover{transform:rotate(0) translateY(-6px) scale(1.02);box-shadow:0 22px 44px -12px rgba(26,23,18,.35);z-index:2;background:#FFFDF6}
body.ty .adverts-list .advert-item-grow,
body.ty .adverts-list .advert-item:hover .advert-item-grow{display:block;transform:none !important}
body.ty .adverts-list .advert-img{
  width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;
  float:none !important;margin:0 !important;aspect-ratio:3/2;overflow:hidden;position:relative;
  background:linear-gradient(180deg,var(--ty-skyhi) 0%,var(--ty-sky) 62%,var(--ty-teal) 100%);
}
body.ty .adverts-list .advert-img img{width:100% !important;height:100% !important;object-fit:cover;max-width:100%}
body.ty .adverts-list span.advert-link{display:block;position:static;margin-top:12px;padding:0;height:auto;background:none;color:var(--ty-navy) !important}
body.ty .adverts-list span.advert-link .advert-link-text,
body.ty .adverts-list .advert-link-text{font-weight:900;font-size:1.02rem;color:var(--ty-navy) !important;font-family:"Nunito Sans",sans-serif;line-height:1.3;display:block;white-space:normal;text-decoration:none}
body.ty .adverts-list a.advert-link-wrap{position:absolute;inset:0;z-index:3}
body.ty .adverts-list .advert-published{display:inline-block;font-size:.78rem;font-weight:700;color:#6E6146;letter-spacing:.02em;margin-top:8px}
body.ty .adverts-list .advert-location{display:inline-block;font-size:.78rem;font-weight:700;color:#6E6146;letter-spacing:.02em;margin-top:6px}
body.ty .adverts-list .advert-price,
body.ty .adverts-list .advert-item:hover .advert-price{
  position:absolute !important;top:18px;right:18px;left:auto !important;bottom:auto !important;
  width:max-content !important;max-width:55%;height:auto !important;
  background:var(--ty-cream) !important;border:2px dashed var(--ty-coral);
  color:var(--ty-coral) !important;font-weight:900;font-size:.82rem;
  padding:6px 9px;margin:0;transform:rotate(4deg);font-variant-numeric:tabular-nums;
  box-shadow:0 2px 6px rgba(26,23,18,.2);z-index:4;line-height:1.2;text-align:center;
}
.adverts-list-empty{background:var(--ty-cream);border:2px dashed var(--ty-teal);padding:34px;text-align:center;font-weight:700;color:var(--ty-ink)}

/* ---------- Dock Queens (featured) ---------- */
.adverts-list .advert-item.advert-is-featured{background:#FFFDF6 !important;border:3px solid var(--ty-mustard) !important;box-shadow:0 14px 30px -8px rgba(180,130,20,.35)}
.adverts-list .advert-item.advert-is-featured::before{content:"DOCK QUEEN";position:absolute;top:-12px;left:14px;background:var(--ty-mustard);color:var(--ty-navy);font-weight:900;font-size:.66rem;letter-spacing:.1em;padding:4px 10px;transform:rotate(-2deg);box-shadow:0 2px 6px rgba(26,23,18,.25);z-index:3}

/* ---------- WP Adverts: add/edit form (sell page postcard) ---------- */
.adverts-form{background:var(--ty-cream);box-shadow:0 24px 54px -14px rgba(0,10,20,.35);padding:26px;position:relative}
.adverts-form .adverts-form-label,
.adverts-form label{font-weight:900;color:var(--ty-navy)}
.adverts-form input[type="text"],
.adverts-form input[type="email"],
.adverts-form textarea,
.adverts-form select{border:0;border-bottom:2px solid #D8CBAF;background:transparent;padding:9px 2px;font-weight:700;color:var(--ty-ink);width:100%;font-family:inherit}
.adverts-form input[type="text"]:focus,
.adverts-form textarea:focus{border-bottom-color:var(--ty-teal);outline:none}
body.ty .adverts-form input[type="submit"],
body.ty input.adverts-button[type="submit"],
body.ty input[type="submit"].adverts-cancel-unload{
  background:var(--ty-coral) !important;color:#fff !important;border:0 !important;
  border-radius:8px !important;padding:14px 24px !important;font-weight:900 !important;
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;font-family:inherit !important;
  font-size:1rem !important;box-shadow:0 3px 10px rgba(12,24,36,.35);
}
body.ty .adverts-form input[type="submit"]:hover,
body.ty input.adverts-button[type="submit"]:hover{background:#E8443C !important}
body.ty a.adverts-button,
body.ty .adverts-plupload-upload-ui a.adverts-button{
  background:var(--ty-teal) !important;color:#fff !important;border:2px solid var(--ty-navy) !important;
  padding:9px 16px !important;font-weight:900 !important;letter-spacing:.04em;
  text-transform:uppercase;text-decoration:none !important;display:inline-block;
  font-size:.85rem !important;border-radius:0 !important;
}
body.ty a.adverts-button:hover{background:#0B7A8C !important}
body.ty .adverts-field-header-title{
  font-family:"Alfa Slab One",serif;color:var(--ty-navy);font-size:1.15rem;
  display:block;margin:22px 0 10px;padding-bottom:8px;border-bottom:2px solid #D8CBAF;
}

/* homepage: latest-arrivals block is a teaser, no pagination */
body.home .adverts-pagination{display:none}

/* constrain WP Adverts blocks inside full-bleed pages */
body.ty .adverts-list{max-width:1132px;margin:34px auto 0 !important;padding:0 24px}
body.ty .adverts-search-form{max-width:1036px;margin:0 auto 10px !important}
body.ty .adverts-list-empty{grid-column:1 / -1;font-weight:700;font-style:normal}
body.ty .adverts-list-empty em{font-style:normal}
body.ty .adverts-pagination{max-width:1132px;margin-left:auto !important;margin-right:auto !important}

/* B2 compact hero + booking desk head */
.b2-hero{--sun-x:85%;--sun-y:36%}
.b2-hero .vb-hero-in{padding:36px 24px 48px}
.b2-hero .vb-greet{font-size:clamp(1.05rem,2vw,1.4rem)}
.b2-hero h1{font-family:"Alfa Slab One",serif;font-size:clamp(2rem,5vw,3.2rem);line-height:1;color:#fff;text-shadow:0 4px 0 var(--ty-teal),0 8px 24px rgba(16,30,40,.35);margin:6px 0 0}
.b2-hero .vb-sunel{width:clamp(70px,8vw,104px)}
.b2-desk-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;max-width:1036px;margin:38px auto 12px;padding:0 4px;flex-wrap:wrap}
.b2-desk-head h2{font-family:"Alfa Slab One",serif;color:var(--ty-navy);font-size:1.25rem;margin:0}
.b2-desk-head .script{font-family:"Pacifico",cursive;color:var(--ty-teal);font-size:1rem;transform:rotate(-2deg)}
.b2-count{max-width:1036px;margin:0 auto 6px;font-size:.85rem;font-weight:700;color:#6E6146}
.b2-count b{color:var(--ty-coral)}
.b2-count a{color:var(--ty-teal)}
@media (max-width:1100px){.b2-desk-head,.b2-count{padding-left:24px;padding-right:24px}}

/* B4 sell-page hero + postcard form */
.b4-stage{--sun-x:93%;--sun-y:8%}
.b4-stage .vb-clouds{top:1%;opacity:.6}
.b4-stage .vb-hero-in{padding:52px 24px 56px}
.b4-h1{font-family:"Alfa Slab One",serif;color:#fff;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.05;text-shadow:0 4px 0 var(--ty-teal),0 8px 24px rgba(16,30,40,.35);margin:8px 0 0}
.b4-h1 span{color:var(--ty-sun);text-shadow:0 4px 0 var(--ty-coral),0 8px 24px rgba(16,30,40,.35)}
.b4-sub{margin:12px auto 0;color:#EAF9FF;font-weight:700;font-size:clamp(.95rem,1.8vw,1.1rem);max-width:64ch}
body.ty .ty-sell-form{max-width:640px;margin:34px auto 0;padding:0 24px 8px}
body.ty .ty-sell-form .adverts-form{transform:rotate(-.6deg)}
body.ty .ty-sell-form h2.ty-form-title{font-family:"Pacifico",cursive;color:var(--ty-coral);font-size:1.5rem;margin:0 0 4px;transform:rotate(-1deg);text-align:left}
.b4-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:980px;margin:0 auto;padding:56px 24px 24px}
.b4-step{text-align:center}
.b4-postmark-ic{width:74px;height:74px;margin:0 auto 12px;border:3px solid var(--ty-navy);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;color:var(--ty-navy)}
.b4-postmark-ic::after{content:"";position:absolute;inset:6px;border:1px dashed var(--ty-teal);border-radius:50%}
.b4-postmark-ic svg{width:34px;height:34px}
.b4-step h3{font-family:"Alfa Slab One",serif;color:var(--ty-navy);font-size:1.05rem;margin:0 0 6px}
.b4-step p{color:#7A6F58;line-height:1.55;font-size:.92rem;font-weight:600;margin:0}
.b4-fine{margin:8px auto 0;font-size:.8rem;font-weight:700;color:#6E6146;text-align:center;max-width:640px;padding:0 24px 48px}
@media (max-width:760px){.b4-steps{grid-template-columns:1fr;gap:34px}}

/* ---------- slip page (single advert) ---------- */
body.ty.single-advert h1.entry-title,
body.ty.single-advert .entry-header .page-title{font-family:"Alfa Slab One",serif;color:var(--ty-navy);letter-spacing:.01em}
body.ty.single-advert span.atw-text-4xl{
  background:var(--ty-cream) !important;color:var(--ty-coral) !important;
  border:3px dashed var(--ty-coral);border-radius:0 !important;
  font-weight:900 !important;font-family:"Nunito Sans",sans-serif;
  transform:rotate(3deg);display:inline-block;
  box-shadow:0 3px 8px rgba(26,23,18,.2);font-variant-numeric:tabular-nums;
}
body.ty .wpa-btn-primary{
  background:var(--ty-coral) !important;color:#fff !important;
  border-radius:8px !important;border:0 !important;
  font-weight:900 !important;text-transform:uppercase;letter-spacing:.04em;
  box-shadow:0 3px 10px rgba(12,24,36,.35);
}
body.ty .wpa-btn-primary:hover{background:#E8443C !important}
.ty-stamps{margin:34px 0 8px;padding:22px 0 0;border-top:2px solid #E7DDC8}
.ty-stamps-kicker{font-family:"Pacifico",cursive;color:var(--ty-teal);font-size:1.1rem;transform:rotate(-1.5deg);margin:0 0 14px}
.ty-stamps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ty-stamp-card{display:block;background:var(--ty-cream);border:2px dashed var(--ty-teal);padding:14px 16px;text-decoration:none;transform:rotate(var(--tilt,-1deg));transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;color:var(--ty-ink)}
.ty-stamp-card:nth-child(2){--tilt:1deg}
.ty-stamp-card:nth-child(3){--tilt:-.5deg}
.ty-stamp-card:hover{transform:rotate(0) translateY(-3px);box-shadow:0 10px 22px -8px rgba(26,23,18,.3)}
.ty-stamp-card b{display:block;font-weight:900;color:var(--ty-navy);font-size:.98rem}
.ty-stamp-card span{display:block;font-size:.8rem;font-weight:600;color:#7A6F58;margin-top:4px;line-height:1.4}
.ty-stamps-note{margin:12px 0 0;font-size:.74rem;font-weight:700;color:#6E6146}
@media (max-width:700px){.ty-stamps-row{grid-template-columns:1fr}}

/* ---------- pagination ---------- */
.adverts-pagination{margin-top:34px;text-align:center}
.adverts-pagination a,.adverts-pagination span{display:inline-block;padding:8px 14px;border:2px solid var(--ty-navy);background:var(--ty-cream);font-weight:900;color:var(--ty-navy);text-decoration:none;margin:0 3px}
.adverts-pagination a:hover{background:var(--ty-mustard)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .vb-rack,.adverts-list{grid-template-columns:1fr 1fr}
  .vb-sell-in{grid-template-columns:1fr}
  .vb-bay{margin-top:-64px}
}
@media (max-width:560px){
  .vb-rack,body.ty .adverts-list{grid-template-columns:1fr}
  .vb-hero-search{flex-direction:column}
  .vb-palm.pl{width:84px}
  .vb-palm.pr{width:100px}
  .vb-bpop{width:150px;padding:8px 10px}
  .vb-bay-label{top:-48px}
  .vb-stamp{top:12px;right:10px;font-size:.72rem;padding:5px 7px}
  body.ty .adverts-list .advert-price,
  body.ty .adverts-list .advert-item:hover .advert-price{top:12px;right:10px;font-size:.74rem;max-width:48%}
}
