/* =========================================================================
   verano-ia.css — Information-architecture layer (additive, 2026-06-03)
   Hero social proof · sticky reserve bar · platform deep-dive accordions.
   Loaded LAST so it layers over landing/surfaces/verano without touching them.
   Palette mirrors the template's inline brand colours (paper / ink / ember).
   ========================================================================= */

/* ---- Hero: one-line social proof ---------------------------------------- */
.sv-hero__proof{
	margin:.9rem 0 0;
	display:flex;align-items:center;justify-content:center;gap:.55ch;flex-wrap:wrap;
	font-size:.92rem;line-height:1.4;color:#6b6470;
}
.sv-hero__proof em{font-style:italic;color:#2B2530;}
.sv-hero__stars{color:#FCC000;letter-spacing:1.5px;font-size:.9em;}

/* ---- Sticky reserve bar -------------------------------------------------- */
.sv-stickybar{
	position:fixed;left:50%;bottom:18px;z-index:60;
	transform:translate(-50%,160%);opacity:0;
	display:flex;align-items:center;gap:1rem;
	width:max-content;max-width:min(680px,calc(100vw - 26px));
	padding:.55rem .6rem .55rem 1.15rem;
	background:rgba(255,252,247,.96);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	border:1px solid rgba(43,37,48,.14);border-radius:999px;
	box-shadow:0 12px 32px rgba(43,37,48,.18);
	transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .42s ease;
}
.sv-stickybar.is-visible{transform:translate(-50%,0);opacity:1;}
.sv-stickybar__price{font-size:.92rem;color:#2B2530;white-space:nowrap;}
.sv-stickybar__price b{color:#FC3C30;}
.sv-stickybar__cta{
	appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.92rem;
	color:#FFFCF7;background:linear-gradient(180deg,#FC780C,#FC3C30);
	padding:.6rem 1.2rem;border-radius:999px;white-space:nowrap;
	box-shadow:0 4px 14px rgba(252,60,48,.32);
	transition:transform .15s ease,box-shadow .15s ease;
}
.sv-stickybar__cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(252,60,48,.42);}
.sv-stickybar[hidden]{display:none;}
@media(max-width:540px){
	.sv-stickybar{bottom:10px;gap:.55rem;padding:.5rem .5rem .5rem .95rem;}
	.sv-stickybar__price{font-size:.8rem;}
	.sv-stickybar__cta{padding:.55rem 1rem;font-size:.86rem;}
}
@media(prefers-reduced-motion:reduce){
	.sv-stickybar{transition:opacity .2s ease;transform:translate(-50%,0);}
}

/* ---- Platform deep-dive accordions -------------------------------------- */
.sv-acc-group{max-width:980px;margin:0 auto;padding:.4rem 20px 1rem;}
.sv-acc-group__lead{
	text-align:center;color:#6b6470;font-size:1rem;margin:.2rem 0 1.5rem;
}
.sv-acc{
	border:1px solid rgba(43,37,48,.13);border-radius:18px;
	background:rgba(255,252,247,.55);margin:0 0 14px;overflow:hidden;
}
.sv-acc__sum{
	list-style:none;cursor:pointer;
	display:flex;align-items:center;justify-content:space-between;gap:1rem;
	padding:1.1rem 1.35rem;
	font-family:'Fraunces',Georgia,'Times New Roman',serif;
	font-size:1.12rem;font-weight:600;color:#2B2530;user-select:none;
	transition:background .15s ease;
}
.sv-acc__sum::-webkit-details-marker{display:none;}
.sv-acc__sum:hover{background:rgba(252,120,12,.06);}
.sv-acc__sum:focus-visible{outline:2px solid #FC780C;outline-offset:-2px;}
.sv-acc__chev{
	flex:none;width:12px;height:12px;margin-right:5px;
	border-right:2px solid #FC780C;border-bottom:2px solid #FC780C;
	transform:rotate(45deg);transition:transform .25s ease;
}
.sv-acc[open] .sv-acc__chev{transform:rotate(-135deg);}
.sv-acc__body{border-top:1px solid rgba(43,37,48,.08);}

/* Bands inside a panel: drop full-bleed/min-height so they sit in the card,
   and defeat the reveal-observer opacity trap so content shows on open. */
.sv-acc__body>section{
	margin:0!important;min-height:0!important;
	padding-top:1.8rem!important;padding-bottom:2rem!important;
}
.sv-acc__body .j-reveal,
.sv-acc__body [data-reveal]{
	opacity:1!important;transform:none!important;filter:none!important;visibility:visible!important;
}
@media(prefers-reduced-motion:reduce){
	.sv-acc__chev,.sv-acc__sum{transition:none;}
}

/* ---- Reservation: price cards INSIDE the form card, on the right --------- */
.sv-form-wrap{max-width:980px;}     /* widen the wrap so the two-column card fits */
.sv-form-card.sv-form-card--withprices{
	display:grid;grid-template-columns:minmax(0,1.3fr) minmax(264px,.78fr);
	gap:30px;align-items:start;
}
.sv-form-card--withprices .sv-form-card__main{min-width:0;}
.sv-form-card__prices{align-self:start;}
.sv-form-card__prices-h{
	font-family:'Fraunces',Georgia,'Times New Roman',serif;
	font-size:1rem;font-weight:600;color:#2B2530;margin:0 0 12px;
}
.sv-form-card__prices-col{display:flex;flex-direction:column;gap:12px;}
/* lighten the nested cohort cards so card-in-card doesn't feel heavy */
.sv-form-card__prices-col .sv-cohort{margin:0;padding:16px 16px;background:rgba(255,252,247,.5);}
@media(max-width:820px){
	.sv-form-card.sv-form-card--withprices{grid-template-columns:1fr;gap:24px;}
	.sv-form-card__prices{order:-1;}   /* prices above the form fields on mobile */
}
/* hours shown inline beside the price (reservation cards only) */
.sv-cohort__price .sv-cohort__hrs{
	font-size:1rem;font-style:normal;font-weight:600;color:#8a8390;white-space:nowrap;
}
.sv-cohort__price .sv-cohort__hrs::before{content:"· ";color:#bdb7c0;}

/* ---- Pack: animated PDF cover fans (ported from La Biblioteca) ----------- */
.sv-pack-shelves{
	display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
	gap:clamp(24px,5vw,64px);margin:clamp(8px,2vw,18px) auto 0;max-width:900px;padding:0 20px;
}
.sv-pack-shelf{flex:1 1 320px;max-width:420px;text-align:center;}
.sv-pack-shelf__lvl{
	display:inline-block;margin:0 0 4px;font-family:'Fraunces',Georgia,'Times New Roman',serif;
	font-size:1rem;color:#5A4632;letter-spacing:.01em;
}
.sv-pack-shelf__lvl b{color:#2B2530;}

.sv-pack .bib-pack__shelf{
	display:flex;justify-content:center;align-items:flex-end;gap:0;
	margin:clamp(16px,3vw,26px) 0 10px;min-height:172px;perspective:1100px;
}
.sv-pack .bib-book{
	appearance:none;-webkit-appearance:none;background:none;border:none;padding:0;cursor:pointer;
	position:relative;width:78px;margin-left:-20px;
	transform:rotate(calc((var(--i) - 1.5) * 5deg));transform-origin:bottom center;
	transition:transform 320ms cubic-bezier(0.34,1.56,0.64,1),filter 320ms cubic-bezier(0.22,0.61,0.36,1);
	filter:drop-shadow(0 10px 18px rgba(43,37,48,.22));
}
.sv-pack .bib-book:first-child{margin-left:0;}
.sv-pack .bib-book:nth-child(1){z-index:1;}
.sv-pack .bib-book:nth-child(2){z-index:2;}
.sv-pack .bib-book:nth-child(3){z-index:3;}
.sv-pack .bib-book:nth-child(4){z-index:4;}
.sv-pack .bib-book__img{display:block;border-radius:4px 7px 7px 4px;overflow:hidden;background:#FFFCF7;}
.sv-pack .bib-book__img img{display:block;width:100%;height:auto;border-radius:4px 7px 7px 4px;}
.sv-pack .bib-book__type{
	position:absolute;left:50%;bottom:-22px;transform:translateX(-50%) translateY(6px);
	font-size:.66rem;font-weight:600;letter-spacing:.06em;color:#5A4632;white-space:nowrap;
	opacity:0;transition:opacity 180ms,transform 180ms;pointer-events:none;
}
.sv-pack .bib-pack__shelf:hover .bib-book{transform:rotate(0deg);margin-left:6px;}
.sv-pack .bib-pack__shelf:hover .bib-book:first-child{margin-left:0;}
.sv-pack .bib-book:hover{
	transform:rotate(0deg) translateY(-14px) scale(1.06);z-index:9!important;
	filter:drop-shadow(0 18px 30px rgba(43,37,48,.32));
}
.sv-pack .bib-book:hover .bib-book__type{opacity:1;transform:translateX(-50%) translateY(0);}
.sv-pack .bib-book:focus-visible{outline:2px solid #FC780C;outline-offset:4px;border-radius:6px;}

/* guide list beneath the fans */
.sv-pack-guides{
	list-style:none;max-width:600px;margin:clamp(22px,3.4vw,34px) auto 0;padding:0 20px;display:grid;gap:11px;
}
.sv-pack-guides li{
	display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px 12px;
	font-size:.95rem;line-height:1.45;color:#5A4632;text-align:left;
}
.sv-pack-guides b{color:#2B2530;}
.sv-pack-guides__tick{width:7px;height:7px;border-radius:50%;background:#FC780C;align-self:center;}
@media(max-width:560px){
	.sv-pack-guides li{grid-template-columns:auto 1fr;}
	.sv-pack-guides__tick{align-self:baseline;position:relative;top:5px;}
}

/* cover lightbox */
.bib-modal{
	position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(20px,5vw,60px);
	background:rgba(26,21,31,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	opacity:0;transition:opacity 320ms cubic-bezier(0.22,0.61,0.36,1);
}
.bib-modal[hidden]{display:none;}
.bib-modal.is-open{opacity:1;}
.bib-modal__frame{
	margin:0;max-width:min(92vw,760px);width:100%;text-align:center;
	transform:scale(.94);transition:transform 320ms cubic-bezier(0.34,1.56,0.64,1);
}
.bib-modal.is-open .bib-modal__frame{transform:scale(1);}
.bib-modal__frame img{
	display:block;width:auto;max-width:100%;height:auto;max-height:88vh;margin:0 auto;object-fit:contain;
	border-radius:10px;box-shadow:0 30px 80px rgba(20,16,24,.5);
}
.bib-modal__frame figcaption{
	margin-top:16px;color:#FFFCF7;font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:1.05rem;
}
.bib-modal__close{
	position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
	font-size:1.6rem;line-height:1;background:rgba(255,252,247,.16);color:#FFFCF7;transition:background 180ms;
}
.bib-modal__close:hover{background:rgba(255,252,247,.3);}
body.lwl-jl-modal-open{overflow:hidden;}
@media(prefers-reduced-motion:reduce){
	.sv-pack .bib-book{transition:none;}
	.bib-modal,.bib-modal__frame{transition:none;}
}
