/* ==========================================================================
   Tamara Taylor — Homepage styles
   Matches the /links/ page: sky-blue gradient, serif headline,
   soft pill buttons, thin line icons, dahlia "bloom" accents.
   All selectors are prefixed with .tt- / #tt- to avoid theme conflicts.
   ========================================================================== */

.tt-home{
  --sky-top:#bfe6f2;
  --sky-bottom:#8fd0e6;
  --ink:#1c2b33;
  --ink-soft:#3a4a52;
  --card:rgba(255,255,255,0.55);
  --card-strong:rgba(255,255,255,0.72);
  --pill-shadow: 0 6px 18px rgba(28,43,51,0.14);

  font-family:'Nunito', sans-serif;
  color:var(--ink);
  background: linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 55%, var(--sky-bottom) 100%);
}
.tt-home *{box-sizing:border-box;}
.tt-home img{display:block; max-width:100%;}
.tt-home a{color:inherit;}
.tt-home h1, .tt-home h2, .tt-home h3{font-family:'Playfair Display', serif; font-weight:600; color:var(--ink); margin:0;}
html{scroll-behavior:smooth;}

/* decorative bloom accents */
.tt-bloom{
  position:absolute; width:220px; height:220px; pointer-events:none;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.5) 35%, rgba(255,255,255,0) 70%);
  filter: blur(2px);
  opacity:.8;
}
.tt-bloom--hero{ top:-40px; left:-60px; }
.tt-bloom--about{ bottom:-60px; right:-60px; width:260px; height:260px; }

/* NAV */
.tt-nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 6vw;
  background: rgba(191,230,242,0.55);
  backdrop-filter: blur(10px);
}
.tt-brandmark{font-family:'Playfair Display', serif; font-size:19px; font-weight:600;}
.tt-navlinks{display:flex; gap:22px; font-size:13px; font-weight:700;}
.tt-navlinks a{text-decoration:none; opacity:.75;}
.tt-navlinks a:hover{opacity:1;}
.tt-share-btn{
  width:38px; height:38px; border-radius:50%; background:var(--card-strong);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--pill-shadow);
  border:none; cursor:pointer;
}
@media(max-width:720px){ .tt-navlinks{display:none;} }

/* HERO */
.tt-hero{position:relative; padding:56px 6vw 40px; overflow:hidden;}
.tt-hero-inner{
  max-width:1100px; margin:0 auto; display:grid;
  grid-template-columns:0.95fr 1.1fr; gap:44px; align-items:center; position:relative;
}
.tt-hero-photo{
  position:relative; border-radius:28px; overflow:hidden; aspect-ratio:4/5;
  box-shadow: var(--pill-shadow); background:#cfe7ee;
}
.tt-hero-photo img{width:100%; height:100%; object-fit:cover;}
.tt-hero-copy h1{font-size:clamp(34px,4.4vw,52px); line-height:1.05; margin-bottom:16px;}
.tt-eyebrow{font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:12px;}
.tt-sub{font-size:16px; line-height:1.65; color:var(--ink-soft); max-width:46ch; margin:0 0 26px;}
.tt-cta-row{display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
@media(max-width:820px){
  .tt-hero-inner{grid-template-columns:1fr;}
  .tt-hero-photo{max-width:340px; margin:0 auto;}
}

/* PILLS (shared button style) */
.tt-pill{
  display:inline-flex; align-items:center; gap:10px; padding:15px 26px; border-radius:999px;
  background: linear-gradient(180deg, #ffffff, #e4f3f8);
  box-shadow: var(--pill-shadow); font-weight:800; font-size:14.5px; text-decoration:none;
}
.tt-pill--primary{background: linear-gradient(180deg, #22485a, #16323f); color:#eaf6fb;}
.tt-pill--ghost{background:transparent; box-shadow:none; border:1.5px solid rgba(28,43,51,0.35); font-weight:700;}
.tt-pill--sm{padding:10px 20px; font-size:13px;}
.tt-pill svg{width:18px; height:18px; flex-shrink:0;}

/* CREDENTIAL STRIP */
.tt-cred-strip{
  position:relative; max-width:900px; margin:8px auto 0; padding:16px 26px; border-radius:999px;
  background:var(--card-strong); box-shadow:var(--pill-shadow);
  display:flex; justify-content:center; gap:34px; flex-wrap:wrap; font-size:13.5px; font-weight:700;
}
.tt-cred-strip span{display:flex; align-items:center; gap:8px;}
.tt-cred-strip svg{width:16px; height:16px;}

/* ABOUT / PILLARS */
.tt-about{padding:70px 6vw 50px; position:relative;}
.tt-about-head{text-align:center; max-width:640px; margin:0 auto 42px; position:relative;}
.tt-about-head h2{font-size:30px; margin-bottom:14px;}
.tt-about-head p{color:var(--ink-soft); font-size:15.5px; line-height:1.7; margin:0;}
.tt-pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative;}
.tt-pillar{background:var(--card); border-radius:22px; padding:26px 22px; box-shadow:var(--pill-shadow);}
.tt-tag{font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:10px;}
.tt-pillar h3{font-size:19px; margin-bottom:8px;}
.tt-pillar p{font-size:13.5px; color:var(--ink-soft); line-height:1.55; margin:0;}
@media(max-width:820px){ .tt-pillars{grid-template-columns:1fr;} }

/* FEATURED VIDEO */
.tt-feature{padding:60px 6vw;}
.tt-section-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; gap:16px; flex-wrap:wrap;}
.tt-section-head h2{font-size:26px;}
.tt-video-card{
  display:grid; grid-template-columns:1.4fr 1fr; border-radius:26px; overflow:hidden; box-shadow:var(--pill-shadow);
  background:var(--card-strong);
}
.tt-video-thumb, .tt-video-embed{
  aspect-ratio:16/9; background: linear-gradient(135deg,#22323a,#0f1a1f);
  display:flex; align-items:center; justify-content:center; position:relative;
  text-decoration:none;
}
.tt-video-embed iframe{width:100%; height:100%; border:0;}
.tt-play-btn{width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center;}
.tt-play-btn svg{width:20px; height:20px;}
.tt-video-info{padding:28px; display:flex; flex-direction:column; justify-content:center; gap:10px;}
.tt-video-info h3{font-size:20px; line-height:1.3;}
.tt-video-info p{font-size:13.5px; color:var(--ink-soft); line-height:1.6; margin:0;}
@media(max-width:720px){ .tt-video-card{grid-template-columns:1fr;} }

/* SHORTS */
.tt-shorts{padding:50px 6vw;}
.tt-shorts-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.tt-short-card{
  aspect-ratio:9/16; border-radius:22px; box-shadow:var(--pill-shadow); position:relative; overflow:hidden;
  background:linear-gradient(160deg,#d8f0f6,#a9dcec); display:block;
}
.tt-playmini{
  position:absolute; bottom:12px; right:12px; width:32px; height:32px; border-radius:50%;
  background:rgba(28,43,51,0.85); display:flex; align-items:center; justify-content:center;
}
.tt-playmini svg{width:13px; height:13px;}
@media(max-width:720px){ .tt-shorts-row{grid-template-columns:repeat(2,1fr);} }

/* SOCIAL GRID */
.tt-social{padding:50px 6vw;}
.tt-social-cols{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
.tt-social-col h3{font-family:'Nunito'; font-size:15px; font-weight:800; margin-bottom:14px; display:flex; align-items:center; gap:9px;}
.tt-social-col svg{width:19px; height:19px;}
.tt-grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
.tt-post-tile{
  aspect-ratio:1; border-radius:16px; box-shadow:var(--pill-shadow); display:block;
  background:linear-gradient(160deg,#d8f0f6,#bfe6f2);
}
@media(max-width:820px){ .tt-social-cols{grid-template-columns:1fr;} }

/* SHOP */
.tt-shop{padding:50px 6vw 50px;}
.tt-shop h2{font-size:24px; margin-bottom:22px; text-align:center;}
.tt-shop-list{max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
.tt-shop-pill{
  display:flex; align-items:center; gap:16px; padding:16px 24px; border-radius:999px;
  background: linear-gradient(180deg, #ffffff, #dcf1f7); box-shadow:var(--pill-shadow);
  text-decoration:none; font-weight:800; font-size:15px;
}
.tt-shop-pill svg{width:20px; height:20px; flex-shrink:0;}

/* FOLLOW RAIL */
.tt-follow-rail{
  position:fixed; right:22px; top:50%; transform:translateY(-50%); z-index:40;
  display:flex; flex-direction:column; gap:12px; padding:14px 10px; border-radius:30px;
  background:var(--card-strong); box-shadow:var(--pill-shadow);
}
.tt-follow-rail a{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#fff;
}
.tt-follow-rail svg{width:17px; height:17px;}
@media(max-width:900px){
  .tt-follow-rail{
    top:auto; bottom:14px; right:14px; left:14px; transform:none; flex-direction:row;
    justify-content:center; border-radius:999px;
  }
}

/* FOOTER */
.tt-footer{padding:10px 6vw 90px; text-align:center; font-size:13px; color:var(--ink-soft); font-weight:700;}
.tt-footer a{text-decoration:underline;}

/* Reveal-on-scroll (progressively enhanced by homepage.js; content is
   visible by default if JS fails to load) */
.tt-reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
.tt-reveal.tt-in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .tt-reveal{opacity:1; transform:none; transition:none;}
}
/* ==========================================================================
   Remove Divi's empty global header/footer bars on this template only.
   Scoped to the body class WordPress adds for this specific page template,
   so no other page on the site is affected.
   ========================================================================== */
body.page-template-page-homepage-php .et-l--header,
body.page-template-page-homepage-php .et-l--footer{
  display:none !important;
}
/* Divi sometimes adds top padding/margin to account for a fixed header —
   this clears that so .tt-home sits flush at the very top of the page. */
body.page-template-page-homepage-php #et-main-area,
body.page-template-page-homepage-php #main-content{
  padding-top:0 !important;
  margin-top:0 !important;
}

/* ==========================================================================
   Shop pills — matched to the exact button style used on /links/
   (frosted glass card, 8px corners, backdrop blur, hover lift).
   Replaces the more "pill" look these had before.
   ========================================================================== */
.tt-shop-pill{
  display:flex;
  align-items:center;
  gap:14px;
  background:linear-gradient(rgba(255,255,255,0.35), rgba(255,255,255,0.15));
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  border-radius:8px;
  box-shadow:0 0 8px rgba(0,0,0,0.06);
  padding:14px 20px;
  text-decoration:none;
  color:#000;
  font-family:'Poppins', sans-serif;
  font-weight:500;
  font-size:16px;
  transition:transform .15s, box-shadow .15s;
}
.tt-shop-pill:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(0,0,0,0.12);
}
.tt-shop-pill svg{
  width:28px;
  height:28px;
  flex-shrink:0;
}
.tt-shop-pill .tt-shop-label{
  flex:1 1 0%;
  text-align:center;
}
.tt-shop-pill .tt-shop-spacer{
  width:28px;
  flex-shrink:0;
}
/* Fix "Watch on YouTube" / "Watch Now" buttons: white text + glassy look + hover lift */
a.tt-pill--primary {
  color: #ffffff;                 /* wins over ".tt-home a { color: inherit; }" */
  background: linear-gradient(rgba(34, 72, 90, 0.55), rgba(22, 50, 63, 0.55));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform 0.15s, box-shadow 0.15s;
}

a.tt-pill--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
body.page-template-page-homepage .et-l--header {
  display: none !important;
}
/* SHORTS */
.tt-shorts{padding:50px 6vw;}
.tt-shorts-row{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:20px;
}
.tt-short-card{
  display:block;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--pill-shadow);
  background:var(--card-strong);
  text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease;
}
.tt-short-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(28,43,51,0.24);
}
.tt-short-thumb{
  aspect-ratio:4/3;
  position:relative;
  background:linear-gradient(160deg,#d8f0f6,#a9dcec);
  background-size:cover;
  background-position:center;
}
.tt-playmini{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(rgba(34,72,90,0.6), rgba(22,50,63,0.6));
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px rgba(0,0,0,0.18);
  transition:transform .2s ease;
}
.tt-short-card:hover .tt-playmini{ transform:translate(-50%,-50%) scale(1.1); }
.tt-short-info{ padding:14px 16px 16px; }
.tt-short-title{
  font-family:'Nunito', sans-serif;
  font-weight:800;
  font-size:14.5px;
  line-height:1.35;
  color:var(--ink);
  margin:0 0 6px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tt-short-meta{ font-size:12px; font-weight:700; color:var(--ink-soft); }
@media(max-width:720px){ .tt-shorts-row{grid-template-columns:repeat(2, minmax(150px, 1fr));} }
.tt-short-card{
  aspect-ratio:auto; /* override/remove any leftover 9/16 rule */
  ...
}
.tt-short-info{ padding:16px 18px 18px; }
.tt-short-title{
  font-size:15px;
  -webkit-line-clamp:3; /* was 2 — allows a 3rd line before truncating */
}
.tt-links-wrap{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.tt-links-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:30%;
  background:rgba(0,0,0,0.15);
  color:var(--ink);
  transition:transform .15s ease, background .15s ease;
}
.tt-links-link:hover{
  transform:translateY(-2px);
  background:rgba(0,0,0,0.22);
}