/*
Theme Name: BritishGirls
Theme URI: https://britishgirls.cam/
Author: OpenAI
Description: Custom lightweight theme for BritishGirls.cam galleries, performers, locations and live-cam integration.
Version: 1.3.31
Text Domain: britishgirls
*/

:root{
  --bg:#f5f5f2;
  --surface:#ffffff;
  --text:#17191c;
  --muted:#6e737a;
  --line:#e5e7ea;
  --accent:#d81b60;
  --accent-dark:#ad1249;
  --shadow:0 12px 30px rgba(22,25,29,.07);
  --radius:18px;
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
img{max-width:100%;height:auto}
a{color:inherit}
.site-shell{max-width:var(--max);margin:0 auto;padding:0 24px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:74px;display:flex;align-items:center;gap:30px}
.brand{font-size:28px;font-weight:900;letter-spacing:-.045em;text-decoration:none;white-space:nowrap}
.brand-dot{color:var(--accent)}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:24px;align-items:center}
.primary-nav a{text-decoration:none;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.primary-nav a:hover{color:var(--accent)}
.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:25px}
main{min-height:65vh}
.section{padding:38px 0}
.section + .section{padding-top:12px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.section-title{margin:0;font-size:clamp(28px,3vw,44px);letter-spacing:-.045em;line-height:1}
.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--accent);margin-bottom:8px}
.section-link{color:var(--muted);font-size:13px;text-decoration:none}
.section-link:hover{color:var(--accent)}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:300px 300px;gap:14px}
.hero-grid .gallery-card:first-child{grid-row:1/3}
.gallery-card{position:relative;overflow:hidden;border-radius:var(--radius);background:#ddd;min-height:260px;box-shadow:var(--shadow)}
.gallery-card>a.card-hit{position:absolute;inset:0;z-index:4}
.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-card:hover img{transform:scale(1.025)}
.gallery-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.card-copy{position:absolute;left:0;right:0;bottom:0;padding:18px;z-index:3;color:#fff}
.card-type{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;margin-bottom:7px}
.card-type:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px}
.card-title{font-size:22px;line-height:1.03;font-weight:900;letter-spacing:-.025em}
.card-meta{font-size:12px;opacity:.82;margin-top:8px}
.performer-rail{display:grid;grid-auto-flow:column;grid-auto-columns:122px;gap:18px;overflow-x:auto;padding:3px 0 10px;scrollbar-width:thin}
.performer-chip{text-align:center;text-decoration:none}
.performer-avatar{width:104px;height:104px;border-radius:50%;overflow:hidden;margin:0 auto 9px;border:3px solid #fff;outline:2px solid var(--accent);background:#e7e7e7}
.performer-avatar img{width:100%;height:100%;object-fit:cover}
.performer-name{font-size:13px;font-weight:800;line-height:1.15}
.live-panel{background:#16181c;color:#fff;border-radius:22px;padding:24px}
.live-panel .section-title{color:#fff}
.live-fallback{padding:28px;border:1px dashed rgba(255,255,255,.28);border-radius:15px;color:#cfd2d7;text-align:center}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.category-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;min-height:118px;display:flex;flex-direction:column;justify-content:end;box-shadow:var(--shadow);transition:.2s}
.category-card:hover{transform:translateY(-2px);border-color:#d7a5ba}
.category-card strong{font-size:20px;line-height:1.05}
.category-card span{font-size:12px;color:var(--muted);margin-top:9px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gallery-grid .gallery-card{aspect-ratio:4/5;min-height:0}
.location-links{display:flex;flex-wrap:wrap;gap:10px}
.location-links a{background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:999px;text-decoration:none;font-weight:750;font-size:13px}
.location-links a:hover{border-color:var(--accent);color:var(--accent)}
.archive-head{padding:42px 0 18px}
.archive-description{max-width:800px;color:var(--muted)}
.archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}
.sidebar-card h3{margin:0 0 12px;font-size:16px}
.sidebar-card ul{list-style:none;padding:0;margin:0}
.sidebar-card li+li{margin-top:8px}
.sidebar-card a{text-decoration:none;color:#383d43}
.single-wrap{max-width:1120px;margin:0 auto;padding:44px 24px 70px}
.single-title{font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.055em;margin:0 0 14px}
.single-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:26px}
.single-content{font-size:17px}
.single-content .gallery{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0!important}
.single-content .gallery-item{width:auto!important;float:none!important;margin:0!important}
.single-content .gallery img{width:100%;height:220px;object-fit:cover;border:0!important;border-radius:10px}
.single-content p{max-width:820px}
.pagination{display:flex;gap:8px;justify-content:center;margin:32px 0}
.pagination .page-numbers{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:10px;text-decoration:none}
.pagination .current{background:var(--text);color:#fff}
.site-footer{background:#111318;color:#c9cbd0;margin-top:60px}
.footer-inner{padding:46px 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer-title{color:#fff;font-weight:900;font-size:26px}
.footer-links a{display:block;text-decoration:none;margin:6px 0}
.footer-bottom{border-top:1px solid #292c31;margin-top:28px;padding-top:18px;font-size:12px;color:#888e96}
.empty-state{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--muted)}
@media(max-width:1050px){
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 280px 280px}
  .hero-grid .gallery-card:first-child{grid-column:1/3;grid-row:auto}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .archive-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-shell{padding:0 14px}
  .header-inner{height:64px}
  .brand{font-size:23px}
  .menu-toggle{display:block}
  .primary-nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px}
  .primary-nav.open{display:block}
  .primary-nav ul{display:block}
  .primary-nav li+li{margin-top:10px}
  .hero-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none}
  .hero-grid .gallery-card:first-child{grid-column:auto}
  .hero-grid .gallery-card{height:390px}
  .category-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .single-wrap{padding:28px 14px 55px}
  .single-content .gallery{grid-template-columns:1fr 1fr}
  .single-content .gallery img{height:180px}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .category-grid,.gallery-grid{grid-template-columns:1fr}
  .gallery-grid .gallery-card{aspect-ratio:4/5}
}


/* v1.1 model profiles + live model cards */
.live-model-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.live-model-card{position:relative;overflow:hidden;border-radius:16px;background:#26292f;min-height:245px;text-decoration:none;color:#fff}
.live-model-card img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5}
.live-model-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.live-model-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:13px}
.live-badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.live-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#39d875;box-shadow:0 0 0 4px rgba(57,216,117,.15)}
.live-model-name{font-weight:900;font-size:17px;line-height:1.05}
.live-model-meta{font-size:11px;opacity:.78;margin-top:5px}

.model-profile{max-width:1180px;margin:0 auto;padding:44px 24px 70px}
.model-hero{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:36px;align-items:start}
.model-photo{position:relative;background:#e8e8e8;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.model-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.model-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:#eceff1;color:#4b5056;margin-bottom:15px}
.model-status.live{background:#daf8e3;color:#126531}
.model-status.live:before{content:"";width:8px;height:8px;border-radius:50%;background:#24c568}
.model-status.offline:before{content:"";width:8px;height:8px;border-radius:50%;background:#9299a1}
.model-name{font-size:clamp(40px,5.5vw,72px);line-height:.93;letter-spacing:-.055em;margin:0 0 14px}
.model-intro{font-size:17px;color:var(--muted);max-width:700px}
.model-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px 0}
.model-detail{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}
.model-detail small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.model-detail strong{font-size:15px}
.model-live-panel{margin-top:24px;background:#15171b;color:#fff;border-radius:18px;padding:20px}
.model-live-panel h2{margin:0 0 8px;font-size:25px}
.model-live-panel p{color:#c9cdd2;margin:0}
.model-live-placeholder{border:1px dashed #4b5058;border-radius:13px;padding:22px;text-align:center;margin-top:14px;color:#aeb4bb}
.model-section{margin-top:42px}
.model-section h2{font-size:31px;letter-spacing:-.035em;margin:0 0 16px}
.model-bio{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;font-size:16px}
.model-bio p:first-child{margin-top:0}
.model-bio p:last-child{margin-bottom:0}
.model-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.model-photo-grid a{display:block;border-radius:12px;overflow:hidden;background:#ddd}
.model-photo-grid img{width:100%;height:260px;object-fit:cover;display:block}
.model-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.model-related-grid .gallery-card{aspect-ratio:4/5;min-height:0}
.model-offline-cta{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.model-offline-cta a{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:11px 16px;border-radius:999px;font-weight:850;font-size:13px}
.model-offline-cta a:hover{background:var(--accent-dark)}
@media(max-width:1100px){.live-model-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){
  .model-hero{grid-template-columns:1fr}
  .model-photo{max-width:520px}
  .model-details{grid-template-columns:repeat(2,1fr)}
  .model-photo-grid,.model-related-grid{grid-template-columns:repeat(2,1fr)}
  .live-model-grid{grid-template-columns:repeat(2,1fr)}
}

.model-player-wrap{position:relative;margin-top:14px;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:16/9}.model-player-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}.model-player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}.model-player-fallback{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid #3b3f46;border-radius:12px;background:#1c1f24}.model-player-fallback span{font-size:12px;color:#b9bec5}.model-player-fallback a{display:inline-block;padding:10px 15px;border-radius:999px;background:#fff;color:#111;text-decoration:none;font-weight:900;font-size:12px}

/* v1.2 model directory */
.models-directory{max-width:1240px;margin:0 auto;padding:44px 24px 72px}
.models-directory-head{max-width:820px;margin-bottom:30px}
.models-directory-head h1{font-size:clamp(42px,6vw,76px);line-height:.94;letter-spacing:-.055em;margin:5px 0 14px}
.models-directory-head p{font-size:17px;color:var(--muted);line-height:1.6}
.models-section{margin-top:38px}
.models-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.models-section-head h2{font-size:30px;letter-spacing:-.035em;margin:0}
.models-count{font-size:12px;color:var(--muted);font-weight:800}
.models-all-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.model-directory-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.model-directory-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.model-directory-image{position:relative;background:#e7e7e7;aspect-ratio:4/5;overflow:hidden}
.model-directory-image img{width:100%;height:100%;object-fit:cover;display:block}
.model-directory-status{position:absolute;top:10px;left:10px;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:rgba(30,33,38,.88);color:#fff}
.model-directory-status.live{background:#1fbd62}
.model-directory-copy{padding:12px 13px 14px}
.model-directory-copy strong{display:block;font-size:16px;line-height:1.15}
.model-directory-copy span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.models-pagination{margin-top:28px}
.models-pagination .page-numbers{display:inline-block;padding:8px 11px;border:1px solid var(--line);border-radius:9px;text-decoration:none;margin-right:5px;background:#fff}
.models-pagination .current{background:#15171b;color:#fff;border-color:#15171b}
@media(max-width:1000px){.models-all-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.models-all-grid{grid-template-columns:repeat(2,1fr)}}


/* v1.2.1 historical / combined performer profiles */
.historical-profile{max-width:1180px;margin:0 auto;padding:44px 24px 70px}
.historical-hero{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:34px;align-items:start}
.historical-photo{background:#ececec;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.historical-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.historical-kicker{display:inline-block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:10px}
.historical-name{font-size:clamp(42px,5vw,68px);line-height:.95;letter-spacing:-.05em;margin:0 0 14px}
.historical-intro{font-size:17px;color:var(--muted);max-width:720px;line-height:1.6}
.historical-stat{display:inline-flex;gap:6px;align-items:center;margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800}
.historical-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.historical-gallery-grid .gallery-card{aspect-ratio:4/5;min-height:0}
.profile-type-note{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 17px;color:var(--muted);font-size:13px}
@media(max-width:780px){
  .historical-hero{grid-template-columns:1fr}
  .historical-photo{max-width:480px}
  .historical-gallery-grid{grid-template-columns:repeat(2,1fr)}
}

/* v1.2.2 pagination polish */
.historical-profile .pagination .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* v1.2.3 gallery performer cluster */
.gallery-performer-back{margin:18px 0 26px}
.gallery-performer-back a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:13px;font-weight:850;color:var(--text)}
.gallery-performer-back a:hover{color:var(--accent)}
.gallery-performer-chip{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:inherit}
.gallery-performer-chip img{width:34px;height:34px;object-fit:cover;border-radius:50%}
.gallery-performer-chip strong{font-size:13px}
.more-performer{max-width:1180px;margin:10px auto 70px;padding:0 24px}
.more-performer-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.more-performer-head h2{font-size:30px;letter-spacing:-.035em;margin:0}
.more-performer-head a{font-size:12px;font-weight:850;text-decoration:none}
.more-performer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.more-performer-grid .gallery-card{aspect-ratio:4/5;min-height:0}
@media(max-width:800px){.more-performer-grid{grid-template-columns:repeat(2,1fr)}}


/* v1.2.4 gallery performer-link cleanup */
.single-meta a{color:inherit;text-decoration:none;font-weight:700}
.single-meta a:hover{color:var(--accent)}


/* v1.3 canonical profile + performer-centric locations */
.profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.profile-fact{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}
.profile-fact small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.profile-fact strong,.profile-fact a{font-size:15px;font-weight:800;color:inherit;text-decoration:none}
.profile-fact a:hover{color:var(--accent)}
.profile-bio{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;font-size:16px;line-height:1.65}
.location-performer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.location-performer-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit}
.location-performer-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#e7e7e7}
.location-performer-copy{padding:12px}
.location-performer-copy strong{display:block;font-size:16px}
.location-performer-copy span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.location-latest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.location-latest-grid .gallery-card{aspect-ratio:4/5;min-height:0}
@media(max-width:900px){
  .profile-facts{grid-template-columns:repeat(2,1fr)}
  .location-performer-grid,.location-latest-grid{grid-template-columns:repeat(2,1fr)}
}


/* v1.3.1 location hub polish */
.location-performer-grid.single-result{
  grid-template-columns:minmax(0,260px);
  justify-content:start;
}

/* 1.3.3: researched performer profiles without galleries */
.researched-profile{max-width:var(--max);margin:0 auto;padding:42px 24px}
.researched-profile .researched-hero{display:block}
.researched-profile .historical-intro{max-width:760px}
.researched-profile .profile-facts{margin-top:20px}
.researched-about{max-width:900px}


/* 1.3.4 homepage legacy Links Manager / link-trade section */
.homepage-links-section{padding-top:8px}
.homepage-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.homepage-link{display:block;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;text-decoration:none;font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage-link:hover{color:var(--accent);border-color:#d7d9dd;box-shadow:0 5px 16px rgba(22,25,29,.05)}
@media(max-width:900px){.homepage-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.homepage-links{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage-link{font-size:12px}}


/* Performer hub recurring archive themes */
.performer-themes{padding-top:4px}
.performer-theme-links{display:flex;flex-wrap:wrap;gap:9px}
.performer-theme-links a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--line,#ddd);
  border-radius:999px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  font-size:.92rem;
  line-height:1.2;
}
.performer-theme-links a:hover{text-decoration:underline}


/* v1.3.6 location archive hubs */
.location-parent-link{margin-top:6px;font-size:.94rem}
.location-parent-link a{text-decoration:underline}
.location-hub-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.location-hub-stats span{display:inline-flex;gap:5px;align-items:center;padding:7px 11px;border:1px solid var(--line,#ddd);border-radius:999px;background:#fff;font-size:.9rem}
.location-child-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.location-child-links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line,#ddd);border-radius:10px;background:#fff;text-decoration:none}
.location-child-links a:hover{text-decoration:underline}
.location-child-links span{font-size:.84rem;opacity:.72;white-space:nowrap}


/* v1.3.7 independent performer pagination */
.location-model-pagination{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:18px}
.location-model-pagination a,
.location-model-pagination .current{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line,#ddd);border-radius:7px;background:#fff;text-decoration:none}
.location-model-pagination .current{font-weight:700;background:#f2f2f2}


/* v1.3.8 pagination fix */
.pagination{
  margin-top:22px;
  width:100%;
  clear:both;
}

.pagination .nav-links,
.pagination ul.page-numbers{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.pagination ul.page-numbers li{
  margin:0;
  padding:0;
  list-style:none;
}

.pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:36px;
  padding:0 10px;
  margin:0;
  border:1px solid var(--line,#ddd);
  border-radius:7px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  line-height:1;
  box-sizing:border-box;
}

.pagination .page-numbers.current{
  font-weight:700;
  background:#f2f2f2;
}

.pagination a.page-numbers:hover{
  text-decoration:underline;
}

.pagination .page-numbers.dots{
  border-color:transparent;
  background:transparent;
  min-width:auto;
  padding:0 3px;
}


/* v1.3.9 category archive hubs */
.category-related{margin-top:34px}
.category-hub-head .archive-description{max-width:850px}


/* v1.3.5 canonical performer social/profile links */
.performer-socials{padding:24px 0 2px}
.performer-social-links{display:flex;flex-wrap:wrap;gap:10px}
.performer-social-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--text);color:#fff;text-decoration:none;font-size:14px;font-weight:800;box-shadow:var(--shadow);transition:transform .15s ease,opacity .15s ease}
.performer-social-link:hover{transform:translateY(-1px);opacity:.9;color:#fff}
@media(max-width:620px){.performer-social-link{flex:1 1 calc(50% - 10px)}}

/* Performer creator/social links */
.bg-performer-socials{margin:34px auto;max-width:970px;padding:0 20px}
.bg-performer-socials h2{margin:0 0 14px}
.bg-performer-social-links{display:flex;flex-wrap:wrap;gap:10px}
.bg-performer-social-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid currentColor}

/* Keep imported cam profile content visible alongside canonical AI bio. */
.cam-source-profile{margin-top:24px}


/* Live Cams directory */
.live-cams-directory{max-width:var(--max);margin:0 auto;padding:46px 24px 70px}
.live-cams-head{max-width:900px;margin-bottom:26px}
.live-cams-head h1{font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.05em;margin:4px 0 14px}
.live-cams-head p{font-size:16px;color:var(--muted);max-width:760px;margin:0}
.live-cams-summary{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}
.live-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);flex:0 0 auto}
.live-cams-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.live-cams-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(22,25,29,.035)}
.live-cams-image{position:relative;display:block;aspect-ratio:4/5;background:#e8e9ea;overflow:hidden;text-decoration:none}
.live-cams-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}
.live-cams-card:hover .live-cams-image img{transform:scale(1.018)}
.live-cams-no-image{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--muted);font-weight:800}
.live-cams-badge{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(20,22,25,.9);color:#fff;font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.live-cams-copy{padding:15px}
.live-cams-name{display:block;font-size:19px;line-height:1.1;font-weight:900;text-decoration:none;letter-spacing:-.025em}
.live-cams-name:hover{color:var(--accent)}
.live-cams-meta{margin-top:6px;color:var(--muted);font-size:12px}
.live-cams-actions{display:flex;gap:8px;margin-top:14px}
.live-cams-profile,.live-cams-watch{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:10px;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.025em}
.live-cams-profile{background:#f0f1f2;color:var(--text)}
.live-cams-profile:hover{background:#e5e6e7}
.live-cams-watch{background:var(--accent);color:#fff}
.live-cams-watch:hover{background:var(--accent-dark);color:#fff}
.live-cams-empty{padding:36px;border:1px solid var(--line);border-radius:18px;background:#fff}
.live-cams-empty h2{margin:0 0 8px;font-size:28px;letter-spacing:-.035em}
.live-cams-empty p{color:var(--muted);margin:0 0 18px}
.live-cams-more{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}
.live-cams-more h2{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:4px 0 7px}
.live-cams-more p{margin:0;color:var(--muted)}
.live-cams-directory-link{white-space:nowrap}
@media(max-width:1050px){.live-cams-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.live-cams-directory{padding:32px 18px 55px}.live-cams-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.live-cams-copy{padding:12px}.live-cams-name{font-size:16px}.live-cams-actions{flex-direction:column}.live-cams-profile,.live-cams-watch{width:100%}.live-cams-more{align-items:flex-start;flex-direction:column}}

/* 1.3.13 galleries + locations directories */
.locations-directory{max-width:var(--max);margin:0 auto;padding:46px 24px 70px}
.location-directory-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.location-directory-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;font-weight:800}
.location-directory-links a:hover{border-color:#c9cbce;transform:translateY(-1px)}
.location-directory-links small{color:var(--muted);font-weight:700}
@media(max-width:900px){.location-directory-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.locations-directory{padding:32px 18px 55px}.location-directory-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.3.14 complete directories + clear location counts */
.location-directory-links a{align-items:center;gap:12px}
.location-directory-name{font-weight:800}
.location-directory-counts{margin-left:auto;white-space:nowrap;color:var(--muted);font-weight:700}
@media(max-width:620px){.location-directory-links a{align-items:flex-start;flex-direction:column;gap:2px}.location-directory-counts{margin-left:0}}

/* 1.3.16 region-first location browsing */
.region-links a{padding:12px 18px;font-size:14px}
.locations-region-index{margin-bottom:18px}
.location-region-section{scroll-margin-top:95px;padding-top:12px}
.location-region-section+.location-region-section{margin-top:18px;border-top:1px solid var(--line);padding-top:34px}
.region-directory-links{margin-top:8px}

/* 1.3.19: compact visual icons for every primary navigation destination. */
.primary-nav li[class*="bg-nav-"] > a{display:inline-flex;align-items:center;gap:6px}
.primary-nav li[class*="bg-nav-"] > a::before{
  content:"";
  display:inline-block;
  width:15px;
  height:15px;
  flex:0 0 15px;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  opacity:.82;
}
.primary-nav .bg-nav-home > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.2 12 4l9 7.2v8.3a.5.5 0 0 1-.5.5h-5.2v-6H8.7v6H3.5a.5.5 0 0 1-.5-.5v-8.3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.2 12 4l9 7.2v8.3a.5.5 0 0 1-.5.5h-5.2v-6H8.7v6H3.5a.5.5 0 0 1-.5-.5v-8.3Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-models > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-8 9c.5-4.6 3.2-7 8-7s7.5 2.4 8 7H4Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Zm-8 9c.5-4.6 3.2-7 8-7s7.5 2.4 8 7H4Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-locations > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-galleries > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2 2v8.2l4.1-4.1 3.1 3.1 2.2-2.2L19 16.6V7H5Zm10 3.2a1.7 1.7 0 1 0 0-3.4 1.7 1.7 0 0 0 0 3.4Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2 2v8.2l4.1-4.1 3.1 3.1 2.2-2.2L19 16.6V7H5Zm10 3.2a1.7 1.7 0 1 0 0-3.4 1.7 1.7 0 0 0 0 3.4Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-live > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h13a2 2 0 0 1 2 2v2.2l3-2V17l-3-2V17a2 2 0 0 1-2 2H3V5Zm6 4v6l5-3-5-3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h13a2 2 0 0 1 2 2v2.2l3-2V17l-3-2V17a2 2 0 0 1-2 2H3V5Zm6 4v6l5-3-5-3Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-pornstars > a::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-2.9-5.6 2.9 1.1-6.2L3 9.1l6.2-.9L12 2.5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-2.9-5.6 2.9 1.1-6.2L3 9.1l6.2-.9L12 2.5Z'/%3E%3C/svg%3E");
}
.primary-nav .bg-nav-discover > a::before{
  content:"OF";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:#00aff0;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:-.02em;
  opacity:1;
  -webkit-mask-image:none;
  mask-image:none;
}
.discover-intro{max-width:900px;}


/* 1.3.20: brighter primary navigation icons, sized to match the OF badge. */
.primary-nav li[class*="bg-nav-"] > a{gap:7px}
.primary-nav li[class*="bg-nav-"] > a::before{
  width:20px;
  height:20px;
  flex:0 0 20px;
  opacity:1;
}
.primary-nav .bg-nav-home > a::before{background-color:#e91e63}
.primary-nav .bg-nav-models > a::before{background-color:#9c27b0}
.primary-nav .bg-nav-locations > a::before{background-color:#2e9d65}
.primary-nav .bg-nav-galleries > a::before{background-color:#f28c28}
.primary-nav .bg-nav-live > a::before{background-color:#ef3340}
.primary-nav .bg-nav-pornstars > a::before{background-color:#e0a400}
.primary-nav .bg-nav-discover > a::before{
  content:"OF";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:20px;
  min-width:20px;
  height:20px;
  flex:0 0 20px;
  padding:0;
  border-radius:50%;
  background:#00aff0;
  color:#fff;
  font-size:9px;
  line-height:20px;
  font-weight:900;
  letter-spacing:-.04em;
  opacity:1;
  -webkit-mask:none !important;
  mask:none !important;
}


/* 1.3.21: make navbar icon styling robust with saved WP menus.
   Attribute selectors are fallbacks when WordPress/menu plugins strip our custom item classes. */
.primary-nav .bg-nav-home > a::before,
.primary-nav a[href="/"]::before{background:#e91e63 !important}
.primary-nav .bg-nav-models > a::before,
.primary-nav a[href$="/models/"]::before{background:#9c27b0 !important}
.primary-nav .bg-nav-locations > a::before,
.primary-nav a[href$="/locations/"]::before{background:#2e9d65 !important}
.primary-nav .bg-nav-galleries > a::before,
.primary-nav a[href$="/galleries/"]::before{background:#f28c28 !important}
.primary-nav .bg-nav-live > a::before,
.primary-nav a[href$="/live-cams/"]::before{background:#ef3340 !important}
.primary-nav .bg-nav-pornstars > a::before,
.primary-nav a[href$="/pornstars/"]::before{background:#e0a400 !important}

/* Discover keeps a real OF-style badge rather than an SVG mask. */
.primary-nav .bg-nav-discover > a,
.primary-nav a[href$="/discover/"]{display:inline-flex;align-items:center;gap:7px}
.primary-nav .bg-nav-discover > a::before,
.primary-nav a[href$="/discover/"]::before{
  content:"OF" !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:20px !important;
  min-width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#00aff0 !important;
  color:#fff !important;
  font-size:9px !important;
  line-height:20px !important;
  font-weight:900 !important;
  letter-spacing:-.04em;
  opacity:1 !important;
  -webkit-mask:none !important;
  mask:none !important;
}

/* 1.3.22: keep all saved-menu icon links on the same flex baseline. */
.primary-nav a[href="/"],
.primary-nav a[href$="/models/"],
.primary-nav a[href$="/locations/"],
.primary-nav a[href$="/galleries/"],
.primary-nav a[href$="/live-cams/"],
.primary-nav a[href$="/pornstars/"],
.primary-nav a[href$="/discover/"]{
  display:inline-flex;
  align-items:center;
  gap:7px;
  line-height:20px;
  vertical-align:middle;
}
.primary-nav a[href$="/discover/"]::before{
  vertical-align:middle;
  transform:none !important;
}


/* 1.3.23: optical alignment for the Home item in the primary navigation. */
.primary-nav .bg-nav-home > a,
.primary-nav a[href="/"],
.primary-nav a[href$="britishgirls.cam/"]{
  position:relative;
  top:1px;
}


/* 1.3.24: normalise every primary-menu item to one fixed flex row.
   This removes the old Home optical offset and aligns icon + label as a unit. */
.primary-nav ul > li{
  display:flex;
  align-items:center;
}
.primary-nav ul > li > a,
.primary-nav li[class*="bg-nav-"] > a,
.primary-nav a[href="/"],
.primary-nav a[href$="britishgirls.cam/"],
.primary-nav a[href$="/models/"],
.primary-nav a[href$="/locations/"],
.primary-nav a[href$="/galleries/"],
.primary-nav a[href$="/live-cams/"],
.primary-nav a[href$="/pornstars/"],
.primary-nav a[href$="/discover/"]{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px;
  height:24px;
  line-height:1 !important;
  margin:0;
  padding-top:0;
  padding-bottom:0;
  position:static !important;
  top:auto !important;
  vertical-align:middle;
}
.primary-nav ul > li > a::before{
  align-self:center;
  margin-top:0 !important;
  margin-bottom:0 !important;
  transform:none !important;
}


/* 1.3.25: cache-busted navbar alignment.
   All menu links and icons share the same 24px flex box; no per-item offsets. */
@media (min-width: 901px){
  .primary-nav > ul{align-items:center !important;}
  .primary-nav > ul > li{display:flex !important;align-items:center !important;height:24px !important;margin:0 !important;padding:0 !important;}
  .primary-nav > ul > li > a{display:flex !important;align-items:center !important;height:24px !important;line-height:24px !important;margin:0 !important;padding:0 !important;top:auto !important;transform:none !important;}
  .primary-nav > ul > li > a::before{display:inline-flex !important;align-self:center !important;margin:0 7px 0 0 !important;top:auto !important;transform:none !important;vertical-align:middle !important;}
}
