/**
 * Theme Name: Twenty Twenty-Four Child Theme
 * Template:   twentytwentyfour
   Version: 1.0016
 
 ═══════════════════════════════════════════
   PLEASURE LIBRARY — Aurora/Holographic
   Sister page to Club Landing (dark)
   
   ═══════════════════════════════════════════ */
   
:root {
 --bg: #e0e0d8;
 --surface: #f3f2f0;
 --surface-glass: rgba(0,0,0,0.1);
 --surface-glass-deep:#e0e0d8;
 --text: #2C2825;
 --text-dark: #2C2825;
 --text-muted: #494440;
 --pink-deep: #c95d48;
 
 --font-display: 'PT Serif', Georgia, serif;
 --font-body: 'DM Sans', -apple-system, sans-serif;
 --radius: 20px;
 --radius-l: 100px;
 --radius-s: 8px;
 
 --sky: #b4c7e4;
 --sky-deep: #4068a7;
 
 --accent: var(--sky);

}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
 background-color: var(--bg);
 color: var(--text);
 font-family: var(--font-body);
 -webkit-font-smoothing: antialiased;
 overflow-x: hidden;
}
.lib {
  display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin-block-start: 0 !important;
}
.lib .wp-block-columns.alignwide {
	max-width: 1140px !important;
	width: 100%;
}
/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: rgba(180,199,228,0.5); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--pink-deep); }

::selection {
  background: rgba(232,139,167,0.15);
  color: var(--text);
}

/* ═══════════════════════════════════════════════════
   GLOBAL RESETS via .lib
   ═══════════════════════════════════════════════════ */


/* Links */
.lib a:where(:not(.wp-element-button)) {
  color: inherit !important;
  text-decoration: none !important;
}

/* Paragraphs */
.lib p {
  font-family: var(--font-body);
  color: var(--text-dim);
}

/* Block spacing */
.lib .is-layout-flow > * {
  margin-block-start: 0;
}

/* Accent italic */
.lib h2 em,
.lib h1 em {
  color: var(--pistacio);
  font-family: var(--font-display)!important;
  font-style: italic;
}

/* ═══ AMBIENT BACKGROUND ═══ */
.ambient-bg {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.ambient-bg::after {
  opacity: 1;
  content: '';
  width:100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
  z-index: 0;  
  opacity: 0.3;
  background-image: url("/wp-content/uploads/2026/03/geo-10-scaled.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.ambient-bg::before {
  opacity: 1;
  content: '';
  width:100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
  z-index: 0;  
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.ambient-bg .orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.3;
  animation: orb-drift 20s ease-in-out infinite alternate;
  background: radial-gradient(circle farthest-side at 50% 180%, white 15%, transparent 20%),
  radial-gradient(closest-corner at 121% 84%, #f3f2f0 190%, transparent 307%),
  radial-gradient(closest-side at 40% 77%, #dadace 76%, transparent 185%),
  linear-gradient(#bfbfb1 10%, transparent);
}

.ambient-bg .orb-1 {
  width: 800px; height: 800px;
  top: -10%; left: -5%;
  animation-duration: 25s;
}
.ambient-bg .orb-2 {
  width: 800px; height: 800px;
  top: 20%; right: -8%;
  animation-duration: 22s;
  animation-delay: -5s;
}
.ambient-bg .orb-3 {
  width: 500px; height: 500px;
  bottom: 10%; left: 10%;
  animation-duration: 28s;
  animation-delay: -10s;
}
.ambient-bg .orb-4 {
  width: 800px; height: 800px;
  top: 60%; right: 20%;
  animation-duration: 20s;
  animation-delay: -8s;
}
@keyframes orb-drift {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(100px, -100px) scale(1.05); }
  66%  { transform: translate(-100px, 15px) scale(0.95); }
  100% { transform: translate(15px, -100px) scale(1.02); }
}

/* ═══════════════════════════════════════════════════
   HERO (.hero)
   ═══════════════════════════════════════════════════ */
.lib .wp-block-group.hero {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 100px 40px;
  position: relative;
  z-index: 2;
}
.lib .badge {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 11px !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--text-muted) !important;	
	margin-bottom: 28px !important;
}
.lib .badge a:hover {
	color: var(--pink-deep) !important;
}
.lib .hero h1 {
  font-family: var(--font-display) !important;
  font-size: clamp(36px, 5.5vw, 84px);
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--text);
  margin-bottom: 28px !important;
}
.lib .hero h1 em,
.lib .hero h1.wp-block-cat-title {
  color: var(--pink-deep);
  font-style: italic;
}
.lib .hero h1 + p {
  font-size: 25px;
  color: var(--text);
  line-height: 1.75;
  font-weight: 300;
}
.lib .hero h1.wp-block-cat-title {
	margin-top: 0 !important;
	text-transform: lowercase !important;
}
.lib .hero h2 {
	margin-bottom: 0px;
	color: var(--text-muted) !important;
	line-height: 1.4 !important;
}


/* ═══════════════════════════════════════════════════
   Filter
   ═══════════════════════════════════════════════════ */
      
.lib .filters {
	margin-bottom: 100px;
	border-radius: var(--radius);
	padding: 40px;
	background: var(--surface-glass);
}
.lib .filters .wpc-filters-section { margin: 0 0 40px 0 !important; }
.lib .filters .wpc-filters-section:last-child { margin: 0 !important; }

.lib .filters .widget_wpc_filters_widget .wpc-filter-title,
.lib .filters .widget_wpc_filters_widget .wpc-filter-title span {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: 20px;
}
.lib .filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label {
	padding: 7px 16px;
	border-radius: 100px;
	background: var(--surface-glass);
	border: 0;
	font-family: var(--font-body);
	font-weight: 400;
	cursor: pointer;
	transition: all 0.25s ease;
	user-select: none;
	font-size: 1.1rem;
	color: var(--text);	
}
.lib .filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label span.wpc-filter-label-wrapper {
	padding: 0 !important;
}
.lib .filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label .wpc-term-count {
	font-size: 11px !important;
	color: var(--text-muted);
}
.lib .filters .wpc-filters-main-wrap input.wpc-label-input+label:hover {
	background: var(--surface-glass-deep) !important;
}
.lib .filters .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input+label:hover a {
	color: var(--text) !important;	
}
.lib .filters .wpc-filters-main-wrap input.wpc-label-input:checked+label span.wpc-filter-label-wrapper,
.lib .filters .wpc-filters-main-wrap input.wpc-label-input+label:hover span.wpc-filter-label-wrapper {
	background: transparent !important;
}
.lib .filters .wpc-filters-main-wrap input.wpc-label-input:checked+label {
 background: var(--surface-glass-deep);
 color: var(--sky-deep);
 font-weight: 500;	
}
.lib .filters .wpc-filters-main-wrap input.wpc-label-input:checked+label a {
 color: var(--sky-deep) !important;	
}
.lib .filters .wpc-search-field {
 width: 100%;
 padding: 14px 20px 14px 45px !important;
 border: 0!important;
 border-radius: 100px!important;
 font-family: var(--font-body);
 font-size: 1.2rem;
 background: var(--surface-glass)!important;
 color: var(--sky-deep);
 outline: none;
 transition: border-color 0.3s, box-shadow 0.3s;
}
.lib .filters .wpc-search-field::placeholder { color: var(--text-muted); font-style: italic; font-family: var(--font-display); }
.lib .filters .wpc-search-field:focus {
 border-color: var(--accent);
 box-shadow: 0 0 10px 3px rgba(64,104,167,0.5);
 background: var(--surface-glass-deep);
}
.lib .filters .wpc-filter-layout-submit-button {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);	
}
.lib .filters .wpc-filters-submit-button {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   background: var(--sky);
   color: var(--text);
   border: none;
   border-radius: 100px;
   padding: 16px 40px;
   font-family: var(--font-body);
   font-size: 13px;
   font-weight: 500;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   text-decoration: none;
   cursor: pointer;
   transition: background 0.3s, transform 0.2s;
   position: relative;
   overflow: hidden;
   width: auto;
}
.lib .filters .wpc-filters-submit-button::before {
 content: "";
 position: absolute;
 inset: 0;
 background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.18) 40%, rgba(255,255,255,0.38) 50%, rgba(255,255,255,0.18) 60%, transparent 100%);
 transform: translateX(-120%);
 transition: transform 0.6s cubic-bezier(.4,0,.2,1);
}
.lib .filters .wpc-filters-submit-button:hover {
 transform: translateY(-1px);
}
.lib .filters .wpc-filters-submit-button:hover::before { transform: translateX(120%); }
.lib .filters .wpc-filters-reset-button {
 background: none;
 border: none;
 font-family: var(--font-body);
 font-size: 0.82rem;
 color: var(--text-muted);
 cursor: pointer;
 transition: color 0.3s;
 width: auto;
 padding: 0 !important;
 margin: 0 !important;
}
.lib .filters .wpc-filters-reset-button:hover { color: var(--accent) !important; }


/* ═══════════════════════════════════════════════════
   Cards
   ═══════════════════════════════════════════════════ */
ul.flip-cards-grid {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 28px;
	 margin-bottom: 64px;
	 margin-top:28px;
   }
ul.flip-cards-grid li {
	perspective: 1200px;
	cursor: pointer;
	height: 500px;
	animation: card-rise 0.6s ease-out backwards;
}
ul.flip-cards-grid li:nth-child(1) { animation-delay: 0.05s; }
ul.flip-cards-grid li:nth-child(2) { animation-delay: 0.12s; }
ul.flip-cards-grid li:nth-child(3) { animation-delay: 0.19s; }
ul.flip-cards-grid li:nth-child(4) { animation-delay: 0.26s; }
ul.flip-cards-grid li:nth-child(5) { animation-delay: 0.33s; }
ul.flip-cards-grid li:nth-child(6) { animation-delay: 0.40s; }
ul.flip-cards-grid li:nth-child(7) { animation-delay: 0.47s; }
ul.flip-cards-grid li:nth-child(8) { animation-delay: 0.54s; }
ul.flip-cards-grid li:nth-child(9) { animation-delay: 0.61s; }

ul.flip-cards-grid li .card {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.7s cubic-bezier(0.4, 0.0, 0.2, 1);
  transform-style: preserve-3d;
}
ul.flip-cards-grid li:hover .card {
  transform: rotateY(180deg);
}
ul.flip-cards-grid li .card .front,
ul.flip-cards-grid li .card .back {
 	position: absolute;
 	inset: 0;
 	border-radius: var(--radius);
 	backface-visibility: hidden;
 	-webkit-backface-visibility: hidden;
 	overflow: hidden;
 	box-shadow: -10px 10px 30px rgba(0,0,0,0.2);
}
ul.flip-cards-grid li .card .back {
	background: var(--surface);
}
/* ═══ CARD FRONT ═══ */
ul.flip-cards-grid li .card .front {
 	/*display: flex;*/
 	flex-direction: column;
 	justify-content: flex-end;
 	padding: 28px;
 	color: var(--text) !important;
 	z-index: 0;
}
ul.flip-cards-grid li .card .front::after {
   content: '';
   position: absolute;
   top:0; left:0; width:100%; height:100%;
   z-index:0;
   opacity: 0.9;
   background: var(--surface-glass-deep);
}   
ul.flip-cards-grid li .card .front * {
	 z-index: 2;	
}
ul.flip-cards-grid li .card .front .card-meta {
	position: absolute;
	top: 20px;
	left: 24px;
	right: 24px;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--text);
	gap: 0;
}
ul.flip-cards-grid li .card .front .card-meta a {
	padding-right: 10px;	
}
ul.flip-cards-grid li .card .front .card-meta span {display: none;}
ul.flip-cards-grid li .card .front h2 {
	font-size: 22px;
	line-height: 1.25;
	color: var(--text);
	margin-bottom: 10px;
	font-family: var(--font-body) !important;
}   
ul.flip-cards-grid li .card .front h2 img {
	font-size: 1.6rem;
	margin-bottom: 8px !important;
	display: block !important;
}
ul.flip-cards-grid li .card .front .wp-block-post-terms {
	font-size: 0.85rem;
	color: var(--text);
	font-weight: 400;
}
   /* ═══ CARD BACK ═══ */
ul.flip-cards-grid li .card .back {
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	padding: 28px;
	z-index: 1;
}
ul.flip-cards-grid li .card .back h2 {
	font-family: var(--font-body);
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--text);
	line-height: 1.3;
}
ul.flip-cards-grid li .card .back .card-meta {
	display: flex;
	gap: 0px;
	margin-bottom: 14px;
	flex-wrap: wrap;
 	font-size: 0.72rem;
 	color: var(--text-dark);
 	display: flex;
 	align-items: center;
}
ul.flip-cards-grid li .card .back .card-meta a {
	padding-right: 10px;	
}
ul.flip-cards-grid li .card .back .card-meta span {display: none;}
ul.flip-cards-grid li .card .back .wp-block-post-excerpt{
	font-size: 0.95rem;
	color: var(--text-dark);
	line-height: 1.6;
	flex: 1;
	overflow: hidden;	
}
ul.flip-cards-grid li .card .back .wp-block-post-terms.is-style-pill {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 14px 0 70px 0;
}
ul.flip-cards-grid li .card .back .wp-block-post-terms.is-style-pill a {
	font-size: 0.7rem;
	padding: 3px 10px;
	border-radius: 100px;
	background: rgba(180,199,228,0.2);
	border: 1px solid rgba(180,199,228,0.1);
	color: var(--sky-deep) !important;
	font-weight: 500;
	cursor: default;
	text-transform: none;
}
ul.flip-cards-grid li .card .back .wp-block-post-terms.is-style-pill span {
	display: none;
}
ul.flip-cards-grid li .card .back a.wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-dark);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(26,21,32,0.06);
	transition: gap 0.3s;	
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 28px;
	width: 100%;
}
ul.flip-cards-grid li .card .back a.wp-block-post-excerpt__more-link:hover {
	gap: 10px;
	transition: transform 0.3s;
	transform: translateX(3px);
}
ul.flip-cards-grid li .card .back a.wp-block-post-excerpt__more-link:hover { gap: 10px; }

         
 /* ═══ RESPONSIVE ═══ */
 @media (max-width: 900px) {
   .lib .hero {padding: 40px !important;}
	.lib .hero h1 { font-size: 3.8rem; }
   ul.flip-cards-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
 }
 
 @media (max-width: 580px) {
   ul.flip-cards-grid { grid-template-columns: 1fr; gap: 40px; }
 }  
 
 
 
 /* ═══════════════════════════════════════════════════
	Practice Derailed
	═══════════════════════════════════════════════════ */
 .lib .practice-hero {
	position: relative;
	padding: 100px 48px;
	margin: 0 auto;
	overflow: hidden;	
	border: none !important;
 }
 .lib .practice-hero > .wp-block-columns {
	display: grid;
 grid-template-columns: 1fr 1.2fr;
 gap: 48px;
 align-items: start; 	 
 }
 @media (max-width: 960px) {
   .lib .practice-hero > .wp-block-columns { grid-template-columns: 1fr; gap: 32px; }
 }
 @media (max-width: 640px) {
   .lib .practice-hero > .wp-block-columns { grid-template-columns: 1fr; }
 }
 
 .lib .practice-hero h1.wp-block-post-title {
  font-family: var(--font-display);
   font-size: clamp(32px, 4.5vw, 45px) !important;
   line-height: 1;
   color: var(--text);
   margin-bottom: 20px;	 
 }
 .lib .practice-hero h1.wp-block-post-title img {display: block !important;}
 
 .lib .practice-hero .practice-meta {
	margin-bottom: 30px; 
 }
 .lib .practice-hero .practice-meta .wp-block-post-terms a {
 	font-size: 12px; font-weight: 400;
   color: var(--text-dim);
 }
 .lib .practice-hero .practice-meta .wp-block-post-terms a:hover {
	 color: var(--pink-deep) !important;
 }
 .lib .practice-hero .wp-block-post-excerpt__excerpt {
  font-size: 20px;
   color: var(--text-dim);
   line-height: 1.75;
   max-width: 460px;	
   font-family: var(--font-display) !important;
   font-style: italic; 
 }
 .lib .practice-hero .card{
	  border-radius: var(--radius);
	  backface-visibility: hidden;
	  -webkit-backface-visibility: hidden;
	  overflow: hidden;
	  box-shadow: -10px 10px 30px rgba(0,0,0,0.2);
 	 background: var(--surface);
	  padding: 48px;
 }
 
 .lib .practice-hero .science {}
 .lib .practice-hero .science .label {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--text-muted); 
	margin-bottom: 10px;
	margin-top: 20px;
 }
 .lib .practice-hero .science .wp-block-post-terms a {
	font-size: 0.9rem;
 padding: 3px 10px;
 border-radius: 100px;
 background: rgba(180,199,228,0.2);
 border: 1px solid rgba(180,199,228,0.1);
 color: var(--sky-deep) !important;
 font-weight: 500;
 cursor: default;
 text-transform: none;
 margin-right: 5px;
 margin-bottom: 5px;
 display: inline-flex;
 cursor: pointer;
 }
 .lib .practice-hero .science .wp-block-post-terms__separator {display: none !important;}
 
 
 .lib .practice-main {}
 .lib .practice-main .has-base-background-color {
	 background: transparent !important;
 }
 .lib .practice-main h1 {
	 font-family: var(--font-body);
	 font-size: clamp(32px, 4.5vw, 40px);
	 margin-bottom: 25px !important;
 }
 .lib .practice-main p,
 .lib .practice-main ul {
	 margin-bottom: 10px;
 }
 .lib .practice-main h3 {
	 font-family: var(--font-body);
	 margin-bottom: 10px;	 
	 font-size: clamp(16px, 4.5vw, 16px) !important;
 }
 .lib .practice-main .wp-block-column .wp-block-group {
	border-radius: var(--radius-s) !important;
	padding: 20px;
	margin-bottom: 15px !important;
	background: rgba(180,199,228,0.2);
	border: 1px solid rgba(180,199,228,0.1);
 }
 .lib .practice-main .wp-block-column .wp-block-group p,
 .lib .practice-main .wp-block-column .wp-block-group ul,
 .lib .practice-main .wp-block-column .wp-block-group ol {
	 font-size: 13px !important;
	 margin-bottom: 5px !important;
 }
 

 
.lib .practice-rel {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px;	
}
.lib .practice-rel .crp-list-container {}
.lib .practice-rel h3 {
	font-size: 11px; letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin-bottom: 20px;
}
.lib .practice-rel ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;	
}
 @media (max-width: 640px) {
	 .lib .practice-rel ul { grid-template-columns: 1fr; }
 }
.lib .practice-rel li{
	padding: 0;
}
.lib .practice-rel li::before{display: none !important;}
.lib .practice-rel li .crp-list-item-title {
	padding: 0;
	margin: 0;	
}
.lib .practice-rel li .crp-list-item-title a {
	background: var(--surface);
	border: 1px solid var(--border-light);
	border-radius: 14px;
	padding: 22px 24px;
	text-decoration: none;
	color: var(--text);
	transition: all 0.3s;
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-family: var(--font-display);
	font-size: 16px; font-weight: 700;
	color: var(--text);  		
}
.lib .practice-rel li .crp-list-item-title a:hover {
  background: #fff;
  border-color: var(--border);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(44,40,37,0.06);	
}
.lib .practice-rel li .crp-list-item-title a img {display: block;}
