/*
Theme Name: Toccara Williams
Theme URI: https://toccarawilliams.com
Author: She Is Creations
Description: Personal brand theme for Toccara “Sweet” Williams, built on the Legacy Court Luxury Group brand system. Black, ivory, and gold, court-inspired, built entirely from editable WordPress blocks.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: toccara-williams
*/

:root{
  --tw-navy:#0B0B0B; --tw-navy-deep:#1A1A1A; --tw-gold:#C5A253; --tw-gold-soft:#E3D2A6;
  --tw-ivory:#F5F1E8; --tw-gray:#E8E2D4; --tw-soft:#5A564E; --tw-on-navy:#BDB6A8; --tw-bronze:#8C6F33;
  --tw-display:"Playfair Display",Georgia,serif;
  --tw-sans:Montserrat,"Helvetica Neue",Arial,sans-serif;
  --tw-editorial:"Cormorant Garamond",Georgia,serif;
}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--tw-gold);outline-offset:3px}

/* Remove default gaps between top-level sections */
.wp-site-blocks > *, .wp-site-blocks > * + *, .tw-main > *, .tw-main .wp-block-post-content > *{margin-block:0}

.tw-wrap{max-width:1180px;margin-inline:auto !important;padding-inline:24px;box-sizing:border-box;width:100%}
.tw-rule::before,.tw-hero-card::before,.tw-section-head::before,.tw-band-box::before{content:"";display:block;width:44px;height:2px;background:var(--tw-gold);margin-bottom:20px}

/* Photos show in full color (overrides the original duotone treatment) */
.tw-hero-photo img,.tw-band-photo img,.tw-framed img,.tw-card .wp-block-post-featured-image img,.tw-page .wp-block-post-featured-image img{filter:none !important}

/* Small uppercase label style (brand Level 2) */
.tw-label,.tw-boxscore-head,.tw-player-pos,.tw-card-date{font-family:var(--tw-sans);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-style:normal;font-weight:500}

/* Buttons */
.wp-block-button .wp-block-button__link{font-family:var(--tw-sans);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;padding:.8rem 1.6rem;border:2px solid var(--tw-gold);border-radius:2px;transition:background .15s,color .15s,border-color .15s}
.wp-block-button.is-gold .wp-block-button__link{background:var(--tw-gold);color:var(--tw-navy-deep)}
.wp-block-button.is-gold .wp-block-button__link:hover{background:var(--tw-gold-soft);border-color:var(--tw-gold-soft)}
.wp-block-button.is-line .wp-block-button__link{background:transparent;color:var(--tw-navy);border-color:var(--tw-navy)}
.wp-block-button.is-line .wp-block-button__link:hover{background:var(--tw-navy);border-color:var(--tw-navy);color:var(--tw-ivory)}
.tw-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--tw-sans);font-weight:600;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:.8rem 1.6rem;border:2px solid var(--tw-gold);border-radius:2px;cursor:pointer;background:var(--tw-gold);color:var(--tw-navy-deep)}
.tw-btn:hover{background:var(--tw-gold-soft);border-color:var(--tw-gold-soft)}

/* Header */
header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:50}
.tw-bookbar{background:var(--tw-navy-deep);color:var(--tw-ivory)}
.tw-bookbar .tw-wrap{display:flex;align-items:center;justify-content:center;gap:24px;min-height:52px;flex-wrap:wrap;padding-block:8px}
.tw-bookbar p{margin:0;font-family:var(--tw-sans);font-weight:500;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase}
.tw-bookbar .tw-btn{padding:.45rem 1.1rem;font-size:.72rem}
.tw-nav{background:#fff;border-bottom:1px solid var(--tw-gray)}
.tw-nav-inner{display:flex;align-items:stretch;justify-content:space-between;max-width:1180px;margin:0 auto;padding-right:24px}
.tw-brand{background:var(--tw-navy);color:var(--tw-ivory);text-decoration:none;display:flex;flex-direction:column;justify-content:center;padding:10px 28px;line-height:1}
.tw-brand b{font-family:var(--tw-sans);font-weight:600;font-size:.95rem;letter-spacing:.2em}
.tw-brand span{font-family:var(--tw-editorial);font-size:1.1rem;color:var(--tw-gold);font-style:italic;margin-top:4px}
.tw-nav-links{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.tw-nav-links a{text-decoration:none;color:var(--tw-soft)}
.tw-nav-links a:hover{color:var(--tw-navy)}
@media (max-width:860px){.tw-nav-links{display:none}.tw-nav-inner{padding-right:0}}
@media (max-width:420px){.tw-brand b{font-size:.8rem;letter-spacing:.14em}.tw-bookbar p{font-size:.68rem}}

/* Duotone photos fill their frames */
.tw-hero-photo img,.tw-band-photo img,.tw-framed img{width:100%;height:100%;object-fit:cover;display:block}

/* Hero */
.tw-hero{position:relative;background:var(--tw-navy);min-height:640px;display:flex;align-items:center;overflow:hidden}
.tw-hero > *{margin:0}
.tw-hero-photo{position:absolute !important;inset:0 0 0 42%;margin:0 !important}
.tw-hero-photo img{object-position:55% 25%}
.tw-hero-inner{position:relative;z-index:2}
.tw-hero .tw-hero-card{background:var(--tw-ivory);max-width:560px;padding:52px 48px;margin:64px 0 !important;box-shadow:0 30px 60px -30px rgba(12,24,40,.5);box-sizing:border-box}
.tw-hero-card > *{margin:0}
.tw-hero-card h1{font-size:clamp(2.6rem,5.2vw,4.4rem);font-weight:600;line-height:1.04;color:var(--tw-navy)}
.tw-hero-card p{margin:24px 0 32px;color:var(--tw-soft);font-family:var(--tw-editorial);font-size:1.35rem;line-height:1.5}
@media (max-width:700px){
  .tw-hero{display:block;min-height:0}
  .tw-hero-photo{position:relative !important;inset:auto;height:420px}
  .tw-hero .tw-hero-card{margin:-60px 0 0 !important;padding:36px 28px}
  .tw-hero-inner{padding-bottom:40px}
}

/* Box score */
.tw-boxscore{background:var(--tw-navy);color:var(--tw-ivory)}
.tw-boxscore-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:18px 0 14px;color:var(--tw-on-navy);border-bottom:1px solid rgba(198,161,91,.4)}
.tw-boxscore-row{display:grid;grid-template-columns:repeat(3,1fr)}
.tw-stat{padding:24px 20px 32px 0}
.tw-stat + .tw-stat{border-left:1px solid rgba(198,161,91,.4);padding-left:28px}
.tw-stat-num{font-family:var(--tw-display);font-weight:500;font-size:clamp(2.8rem,6vw,4.6rem);line-height:1;color:var(--tw-gold)}
.tw-stat-label{font-size:.95rem;margin-top:10px;max-width:17em;color:#E9E4D8}
@media (max-width:760px){.tw-boxscore-row{grid-template-columns:1fr}.tw-stat + .tw-stat{border-left:none;border-top:1px solid rgba(198,161,91,.4);padding-left:0}}

/* Story */
.tw-story{padding:120px 0}
.tw-story-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:center}
.tw-story-grid > *{margin:0}
.tw-framed{position:relative;margin:0;aspect-ratio:4/5;isolation:isolate}
.tw-framed::before{content:"";position:absolute;inset:-22px 22px 22px -22px;border:1.5px solid var(--tw-gold);z-index:-1;pointer-events:none}
.tw-framed img{object-position:50% 20%;mix-blend-mode:multiply}
.tw-framed{background:var(--tw-ivory)}
.tw-story-text{border-left:1.5px solid var(--tw-gold);padding-left:40px}
.tw-story-text > *{margin:0}
.tw-story-text h2{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:600;margin-bottom:28px}
.tw-story-text p{margin:0 0 1em;max-width:34em;font-family:var(--tw-editorial);font-size:1.32rem;line-height:1.6;color:#2B2925}
@media (max-width:900px){.tw-story-grid{grid-template-columns:1fr;gap:56px}.tw-framed{max-width:420px;margin-left:22px}.tw-story-text{padding-left:24px}}

/* Section heads */
.tw-section-head{max-width:40em;margin-bottom:56px !important}
.tw-section-head > *{margin:0}
.tw-section-head h2{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:600}
.tw-section-head p{margin-top:16px;font-family:var(--tw-editorial);font-size:1.35rem}

/* Starting five */
.tw-five{background:var(--tw-navy);color:var(--tw-ivory);padding:120px 0}
.tw-five .tw-section-head p{color:var(--tw-on-navy)}
.tw-five-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
.tw-five-grid > *{margin:0}
.tw-court{position:sticky;top:180px}
.tw-court svg{width:100%;height:auto}
.tw-court .line{fill:none;stroke:var(--tw-gold);stroke-width:2;opacity:.85}
.tw-court .pass{fill:none;stroke:var(--tw-ivory);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;opacity:.5;animation:tw-draw 1.1s ease-out forwards}
.tw-court .pass:nth-of-type(2){animation-delay:.25s}
.tw-court .pass:nth-of-type(3){animation-delay:.5s}
.tw-court .pass:nth-of-type(4){animation-delay:.75s}
@keyframes tw-draw{to{stroke-dashoffset:0}}
.tw-court .spot{cursor:pointer}
.tw-court .spot:focus{outline:none}
.tw-court .spot circle{fill:var(--tw-navy-deep);stroke:var(--tw-gold);stroke-width:2.5;transition:fill .15s}
.tw-court .spot text{font-family:var(--tw-display);font-weight:600;font-size:24px;fill:var(--tw-ivory);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.tw-court .spot.active circle,.tw-court .spot:hover circle,.tw-court .spot:focus-visible circle{fill:var(--tw-gold)}
.tw-court .spot.active text,.tw-court .spot:hover text,.tw-court .spot:focus-visible text{fill:var(--tw-navy-deep)}
.tw-court-caption{font-size:.95rem;color:var(--tw-on-navy);margin-top:10px;font-style:italic}
.tw-roster > *{margin:0}
.tw-player{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:28px 0;border-top:1px solid rgba(198,161,91,.35)}
.tw-player:last-child{border-bottom:1px solid rgba(198,161,91,.35)}
.tw-player > *{margin:0}
.tw-player-num{font-family:var(--tw-display);font-weight:500;font-size:4.2rem;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--tw-gold);transition:color .15s}
.tw-player.active .tw-player-num{color:var(--tw-gold)}
.tw-player-body > *{margin:0}
.tw-player-pos{color:var(--tw-gold)}
.tw-player-body h3{font-size:1.9rem;margin:8px 0 10px}
.tw-player-body p{max-width:34em;color:#DDE3EB}
.tw-player-body p.tw-player-pos{color:var(--tw-gold)}
.tw-player-link{margin-top:14px !important}
.tw-player-link a{font-family:var(--tw-sans);font-weight:600;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tw-gold);text-decoration:none;border-bottom:1.5px solid var(--tw-gold)}
.tw-player-link a:hover{color:var(--tw-ivory);border-color:var(--tw-ivory)}
@media (max-width:900px){.tw-five-grid{grid-template-columns:1fr}.tw-court{position:static;max-width:460px}}

/* Speaking band */
.tw-band{position:relative;min-height:520px;display:flex;align-items:center;color:var(--tw-ivory);overflow:hidden;background:var(--tw-navy)}
.tw-band > *{margin:0}
.tw-band-photo{position:absolute !important;inset:0;margin:0 !important}
.tw-band-photo img{object-position:40% 12%}
.tw-band-inner{position:relative;z-index:2}
.tw-band .tw-band-box{max-width:520px;border:1.5px solid var(--tw-gold);padding:48px;margin:72px 0 72px auto !important;background:rgba(11,11,11,.72);box-sizing:border-box}
.tw-band-box > *{margin:0}
.tw-band-box h2{font-size:clamp(2.2rem,4.2vw,3.4rem);font-weight:600}
.tw-band-box p{margin-top:20px;color:#E9E4D8;font-family:var(--tw-editorial);font-size:1.3rem;line-height:1.55}
@media (max-width:700px){.tw-band .tw-band-box{padding:32px 24px;margin:48px 0 !important}}

/* Book */
.tw-book{padding:110px 0}
.tw-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.tw-book-grid > *{margin:0}
.tw-talks > *{margin:0}
.tw-talk{padding:24px 0;border-top:1px solid var(--tw-gray)}
.tw-talk:first-child{border-top:none;padding-top:0}
.tw-talk > *{margin:0}
.tw-talk h3{font-size:1.75rem}
.tw-talk .tw-hook{font-family:var(--tw-editorial);font-style:italic;font-size:1.25rem;color:var(--tw-bronze);margin:6px 0 4px}
.tw-talk p{color:var(--tw-soft)}
.tw-audiences{color:var(--tw-soft);font-size:1rem;border-top:1px solid var(--tw-gray);padding-top:20px;margin-top:28px !important}
.tw-form{background:#fff;border:1.5px solid var(--tw-gold);padding:40px;align-self:start}
.tw-form h3{font-family:var(--tw-display);font-weight:600;font-size:2rem;line-height:1.05;margin:0 0 24px}
.tw-field{margin-bottom:16px}
.tw-field label{display:block;font-size:.95rem;font-weight:500;margin-bottom:6px}
.tw-field input,.tw-field select,.tw-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid #C5CCD5;border-radius:2px;background:#fff;color:var(--tw-navy)}
.tw-field input:focus,.tw-field select:focus,.tw-field textarea:focus{outline:none;border-color:var(--tw-navy);box-shadow:0 0 0 3px rgba(198,161,91,.45)}
.tw-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tw-form .tw-btn{width:100%;margin-top:6px;background:var(--tw-navy);border-color:var(--tw-navy);color:var(--tw-ivory)}
.tw-form-status{font-size:.95rem;margin:12px 0 0;min-height:1.4em}
@media (max-width:900px){.tw-book-grid{grid-template-columns:1fr}.tw-row2{grid-template-columns:1fr}}

/* Press (auto-hidden until the first post is published) */
.tw-press{background:var(--tw-gray);padding:110px 0}
.tw-press:has(.wp-block-query-no-results){display:none}
.tw-press .wp-block-post-template{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px;list-style:none;padding:0;margin:0}
.tw-card{background:#fff;height:100%;margin:0}
.tw-card > *{margin:0}
.tw-card .wp-block-post-featured-image{margin:0}
.tw-card .wp-block-post-featured-image img{aspect-ratio:3/2;object-fit:cover;width:100%}
.tw-card-body{padding:24px 26px 28px}
.tw-card-body > *{margin:0}
.tw-card-date{color:var(--tw-bronze)}
.tw-card-body h3{font-size:1.45rem;margin:12px 0 16px;line-height:1.15}
.tw-card-body h3 a{text-decoration:none}
.tw-card .wp-block-read-more{font-family:var(--tw-sans);font-weight:600;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--tw-navy);border-bottom:1.5px solid var(--tw-gold)}
@media (max-width:900px){.tw-press .wp-block-post-template{grid-template-columns:1fr !important}}

/* Newsletter */
.tw-news{background:var(--tw-navy-deep);color:var(--tw-ivory);padding:84px 0}
.tw-news-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.tw-news-grid > *{margin:0}
.tw-news-copy > *{margin:0}
.tw-news-copy h2{font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:600;color:var(--tw-ivory)}
.tw-news-copy p{margin-top:12px;max-width:30em;color:var(--tw-on-navy);font-family:var(--tw-editorial);font-size:1.3rem}
.tw-news-form{display:flex;gap:10px}
.tw-news-form input{flex:1;min-width:0;font:inherit;padding:.8rem 1rem;border:1.5px solid var(--tw-gold);border-radius:2px;background:transparent;color:var(--tw-ivory)}
.tw-news-form input::placeholder{color:var(--tw-on-navy)}
@media (max-width:820px){.tw-news-grid{grid-template-columns:1fr}.tw-news-form{flex-direction:column}}

/* Footer */
.tw-footer{background:#fff;padding:56px 0 36px;font-size:.95rem;color:var(--tw-soft)}
.tw-foot-line{font-family:var(--tw-display);font-weight:500;font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--tw-navy);line-height:1;margin:0 0 28px}
.tw-foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--tw-gray);padding-top:22px}
.tw-socials{display:flex;gap:22px}
.tw-socials a{text-decoration:none;color:var(--tw-navy)}
.tw-socials a:hover{color:var(--tw-bronze)}
.tw-disclosure{margin:16px 0 0}
.tw-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Standard pages and posts */
.tw-page{padding:80px 24px 100px}
.tw-page h1{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:600}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tw-court .pass{animation:none;stroke-dashoffset:0}*{transition:none !important}}
@media (max-width:700px){header.wp-block-template-part{position:static}}
