:root{--pink:#cf3f7d;--pink2:#f7d4e4;--green:#75c900;--ink:#251b22;--cream:#fffafc;--gold:#a76b24}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}.tsj-shell{min-height:100vh}.tsj-header{display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:white;border-bottom:5px solid var(--green);position:sticky;top:0;z-index:10}.tsj-brand img{width:155px;height:75px;object-fit:contain}.tsj-header nav{display:flex;gap:26px;flex-wrap:wrap}.tsj-header nav a{color:var(--ink);text-decoration:none;font-weight:800}.tsj-header nav a:hover{color:var(--pink)}.tsj-hero{min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:70px 7vw;background:linear-gradient(135deg,#fff 0 55%,var(--pink2) 55%)}.tsj-hero img{width:100%;max-width:520px;border-radius:50%;box-shadow:0 22px 60px #b7306c33}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--green);font-weight:900}.tsj-hero h1,.tsj-main h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,78px);line-height:.95;color:var(--pink);margin:.2em 0}.tsj-hero p,.tsj-main>p{font-size:20px;line-height:1.6;max-width:720px}.tsj-btn{display:inline-block;border:0;background:var(--pink);color:#fff;padding:16px 25px;border-radius:999px;text-decoration:none;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 8px 0 #9d275b}.tsj-btn:hover{transform:translateY(2px);box-shadow:0 6px 0 #9d275b}.tsj-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:55px 7vw}.tsj-cards article,.contact-box{background:#fff;border:2px solid var(--pink2);border-top:8px solid var(--green);padding:28px;border-radius:18px;box-shadow:0 12px 35px #5b304010}.tsj-cards h2{color:var(--pink);font-family:Georgia,serif}.tsj-main{max-width:1000px;margin:auto;padding:70px 24px}.tsj-booking{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fff;padding:30px;border-radius:24px;border:3px solid var(--pink2);box-shadow:0 20px 60px #8b2d5a15}.tsj-booking label{font-weight:800;display:flex;flex-direction:column;gap:8px}.tsj-booking input,.tsj-booking select{padding:14px;border:2px solid #ddd;border-radius:10px;font-size:16px;background:#fff}.tsj-summary{grid-column:1/-1;background:#f4ffe6;border-left:8px solid var(--green);padding:18px 22px;border-radius:12px}.tsj-summary div{display:flex;justify-content:space-between;padding:7px 0}.tsj-summary .total{font-size:24px;border-top:1px solid #b9d98c;margin-top:8px;padding-top:15px;color:var(--pink)}.fineprint,#tsjMessage{grid-column:1/-1;font-size:13px;line-height:1.5;color:#665}.tsj-booking .tsj-btn{justify-self:start}footer{text-align:center;background:var(--ink);color:#fff;padding:30px;border-top:6px solid var(--pink)}@media(max-width:750px){.tsj-header{align-items:flex-start;gap:10px;flex-direction:column}.tsj-header nav{gap:14px}.tsj-hero{grid-template-columns:1fr;background:#fff}.tsj-hero img{max-width:360px}.tsj-cards{grid-template-columns:1fr}.tsj-booking{grid-template-columns:1fr}.tsj-summary,.fineprint,#tsjMessage{grid-column:1}.tsj-hero h1,.tsj-main h1{font-size:46px}}
.availability-note{grid-column:1/-1;background:#fff4f9;border:1px solid var(--pink2);padding:12px 16px;border-radius:10px;font-weight:700}.buyer-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.payment-box{grid-column:1/-1;border:2px solid var(--pink2);padding:20px;border-radius:16px}.payment-box h2{margin-top:0;color:var(--pink);font-family:Georgia,serif}.payment-box .fineprint{margin-bottom:0}#card-container{min-height:90px}#tsjMessage{font-weight:700;color:var(--pink)}.tsj-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:750px){.buyer-fields{grid-template-columns:1fr}}

/* Keep contact fields balanced: phone centered under name and email. */
.buyer-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
.buyer-fields label:nth-child(3){grid-column:1 / -1;justify-self:center;width:calc(50% - 7px);}
@media(max-width:750px){.buyer-fields{grid-template-columns:1fr}.buyer-fields label:nth-child(3){grid-column:1;width:100%;}}

.tsj-marketing{grid-column:1/-1;background:#f6ffef;padding:14px 18px;border-radius:12px}.tsj-marketing label{display:flex;align-items:flex-start;gap:10px;font-weight:600}.tsj-marketing input{width:auto;margin-top:5px}.tsj-marketing p{font-size:13px;margin:7px 0 0 25px}

/* v2.5 footer navigation and contact details */
.tsj-footer-nav{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;margin-bottom:14px}
.tsj-footer-nav a{color:inherit;text-decoration:none;font-weight:600}
.tsj-footer-nav a:hover,.tsj-footer-nav a:focus{text-decoration:underline}
.tsj-shell .contact-box address{font-style:normal;margin:12px 0}
.tsj-shell .contact-box a[href^="tel:"]{color:#c20d64;font-weight:700}

/* 3.4.4 compact footer on plugin pages other than Home */
.tsj-shell>footer.tsj-footer-compact{background:#151515;color:#f2a0c2;border-top:3px solid #d74b8a;padding:14px 20px;font-size:12px;line-height:1.4;min-height:0}
.tsj-shell>footer.tsj-footer-compact .tsj-footer-nav{margin-bottom:6px;gap:9px 19px}
.tsj-shell>footer.tsj-footer-compact a{color:#f2a0c2}
