/* New dynamic public event calendar. Retains the supplied band's original theme. */
.trio-public-events{max-width:1040px;margin:34px auto 0;text-align:left;font-family:inherit}
.trio-calendar-shell{background:rgba(0,0,0,.19);border:1px solid rgba(255,255,255,.15);border-radius:17px;overflow:hidden;margin-bottom:42px}
.trio-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:72px;padding:13px 19px;border-bottom:1px solid rgba(255,255,255,.14)}
.trio-month-nav strong{font-size:clamp(1.05rem,2.5vw,1.35rem);font-weight:700;color:#fff}
.trio-month-nav a{background:rgba(255,255,255,.10);border-radius:8px;border:1px solid rgba(255,255,255,.17);font-size:.86rem;color:#fff;text-decoration:none;padding:9px 12px;white-space:nowrap}
.trio-month-nav a:hover,.trio-month-nav a:focus-visible{background:rgba(255,255,255,.20);color:#fff}
.trio-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.07)}
.trio-calendar-weekday{display:flex;justify-content:center;align-items:center;background:#292828;color:#e5e5e5;font-size:.82rem;min-height:44px}
.trio-calendar-day{position:relative;background:#1d1e20;min-height:68px;display:flex;justify-content:center;align-items:center;color:#fff;font-size:1rem}
.trio-calendar-day.outside{opacity:.43}
.trio-calendar-day.today .trio-day-num{border:1px solid #dfb275;background:#754b2f;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}
.trio-calendar-day.has-event{background:#314a3b}
.trio-calendar-day a{color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:68px;gap:3px;text-decoration:none}
.trio-calendar-day.has-event a:hover{background:rgba(255,255,255,.11);color:#fff}
.trio-event-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#e6b56c;flex-shrink:0}
.trio-public-calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:13px 17px;color:#dedede;font-size:.85rem}
.trio-public-calendar-footer a{color:#e6b56c}.trio-dot-label{display:inline-flex;align-items:center;gap:7px}
.trio-public-list{margin:24px 0 44px;scroll-margin-top:80px}
.trio-public-subheading{font-size:clamp(1.2rem,3vw,1.75rem);margin:0 0 17px;color:white;font-weight:600}
.trio-public-card{display:flex;gap:19px;align-items:flex-start;padding:18px;margin:0 0 13px;border:1px solid rgba(255,255,255,.17);background:rgba(0,0,0,.21);border-radius:15px;color:#dedede}
.trio-public-date{flex:0 0 66px;display:flex;flex-direction:column;gap:0;align-items:center;justify-content:center;min-height:72px;padding:7px 3px;background:rgba(237,178,105,.13);border:1px solid rgba(237,178,105,.37);border-radius:10px;color:#f6d1a1}
.trio-public-date span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.trio-public-date strong{font-size:2rem;line-height:1.15;color:#fff}
.trio-public-card-body{min-width:0;flex:1}.trio-public-card-body h4{font-size:1.2rem;color:#fff;margin:0 0 8px;line-height:1.3}
.trio-public-card-body p{margin:2px 0 6px;font-size:.93rem;line-height:1.6;color:#dedede;overflow-wrap:anywhere}
.trio-public-card-body strong{color:#fff}.trio-public-card-body .trio-public-desc{margin-top:9px;white-space:pre-line}
.trio-public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.trio-public-actions a{color:#f3c38d;text-decoration:underline;text-underline-offset:3px;font-size:.90rem;font-weight:650}
.trio-public-card-image{width:106px;height:106px;object-fit:cover;flex:0 0 106px;border-radius:9px}
.trio-public-empty{border:1px dashed rgba(255,255,255,.22);border-radius:12px;padding:24px;color:#d1d1d1;background:rgba(0,0,0,.13)}
.trio-events-note{margin-top:17px;color:#abb3ad;font-size:.82rem;text-align:center}
.trio-contact-message,.trio-contact-error{border-radius:9px;padding:15px;margin:20px 0;text-align:center;font-size:.95rem;line-height:1.5}
.trio-contact-message{color:#153d2d;background:#dbf4e4;border:1px solid #a9dec0}.trio-contact-error{color:#722323;background:#ffe4e1;border:1px solid #e6aaa5}
.trio-honeypot{position:absolute;left:-99999px;top:auto;width:1px;height:1px;overflow:hidden}
.booking-form{position:relative}.booking-form label[for]{display:none}.booking-form input,.booking-form textarea{font-size:16px}
@media(max-width:700px){.trio-public-events{margin-top:25px}.trio-calendar-day,.trio-calendar-day a{min-height:52px}.trio-month-nav{min-height:60px;padding:12px 9px}.trio-month-nav a{padding:8px;font-size:.76rem}.trio-month-nav a span{display:none}.trio-calendar-weekday{min-height:34px;font-size:.67rem}.trio-day-num{font-size:.91rem}.trio-public-card{gap:11px;padding:13px;flex-wrap:wrap}.trio-public-date{flex-basis:50px;min-height:60px}.trio-public-date strong{font-size:1.5rem}.trio-public-card-body{flex:1 1 calc(100% - 65px)}.trio-public-card-body h4{font-size:1.02rem}.trio-public-card-body p{font-size:.85rem}.trio-public-card-image{margin-left:61px;width:96px;height:96px;flex:0 0 96px}}
@media(max-width:370px){.trio-calendar-day,.trio-calendar-day a{min-height:42px}.trio-month-nav strong{font-size:.97rem}.trio-public-card{padding:10px}.trio-public-card-image{margin-left:0}}

/* Responsive booking photo and public video gallery */
.trio-video-intro{max-width:760px;margin:0 auto 34px;color:#d9d9d9;font-size:1rem;line-height:1.7}
.trio-video-empty{max-width:720px;margin:0 auto;border:1px dashed rgba(255,255,255,.24);border-radius:14px;padding:28px 24px;color:#d7d7d7;background:rgba(0,0,0,.14);text-align:center}
.trio-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.trio-video-card{background:rgba(15,15,16,.82);border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;box-shadow:0 18px 32px rgba(0,0,0,.18)}
.trio-video-frame{position:relative;padding-top:56.25%;background:#000}
.trio-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.trio-video-body{padding:20px 20px 18px;text-align:left}
.trio-video-body h3{margin:0 0 10px;color:#fff;font-size:1.35rem;line-height:1.25}
.trio-video-body p{margin:0 0 16px;color:#d6d6d6;font-size:.95rem;line-height:1.7}
.trio-video-actions{display:flex;flex-wrap:wrap;gap:10px}
.trio-video-actions a,.trio-video-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:999px;background:rgba(221,67,119,.12);border:1px solid rgba(221,67,119,.42);color:#fff;text-decoration:none;font-size:.85rem;font-weight:700;letter-spacing:.02em;transition:all .2s ease}
.trio-video-actions a:hover,.trio-video-actions a:focus-visible,.trio-video-actions button:hover,.trio-video-actions button:focus-visible{background:#dd4377;color:#fff;border-color:#dd4377}
.trio-video-actions button{cursor:pointer}
.trio-booking-section{background:#bf9ca0;background-image:linear-gradient(rgba(191,156,160,.92),rgba(191,156,160,.92))}
.trio-booking-row{display:flex;align-items:center;flex-wrap:wrap}
.trio-booking-photo-wrap{margin-bottom:25px}
.trio-booking-photo{display:block;width:100%;max-width:640px;height:auto;max-height:780px;object-fit:contain;margin:0 auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18))}
.trio-booking-form-wrap{color:#fff}
.trio-booking-form-wrap .section_header,.trio-booking-form-wrap p,.trio-booking-form-wrap .row>div{color:#fff}
@media(max-width:991px){.trio-video-grid{grid-template-columns:1fr}.trio-booking-photo{max-width:540px;max-height:none}.trio-booking-form-wrap{margin-top:10px}}
@media(max-width:767px){.trio-video-body{padding:16px}.trio-video-actions a,.trio-video-actions button{flex:1 1 calc(50% - 10px);text-align:center}.trio-booking-section{padding-top:100px}.trio-booking-photo-wrap{margin-bottom:34px}}
@media(max-width:480px){.trio-video-actions a,.trio-video-actions button{flex:1 1 100%}.trio-booking-photo{max-width:100%}}

/* v3.2 refinements: elegant share buttons + booking art stage */
.trio-video-card{backdrop-filter:blur(6px)}
.trio-video-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.trio-share-btn{appearance:none;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));color:#fff !important;border-radius:16px;min-height:48px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.9rem;font-weight:700;letter-spacing:.02em;text-decoration:none;box-shadow:0 12px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease}
.trio-share-btn i,.trio-share-btn .trio-share-x{font-size:1rem;line-height:1}
.trio-share-btn:hover,.trio-share-btn:focus-visible{transform:translateY(-2px);box-shadow:0 18px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);color:#fff !important;text-decoration:none}
.trio-share-btn.is-facebook:hover,.trio-share-btn.is-facebook:focus-visible{border-color:rgba(24,119,242,.7);background:linear-gradient(180deg,rgba(24,119,242,.28),rgba(24,119,242,.14))}
.trio-share-btn.is-x:hover,.trio-share-btn.is-x:focus-visible{border-color:rgba(255,255,255,.36);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06))}
.trio-share-btn.is-whatsapp:hover,.trio-share-btn.is-whatsapp:focus-visible{border-color:rgba(37,211,102,.68);background:linear-gradient(180deg,rgba(37,211,102,.28),rgba(37,211,102,.12))}
.trio-share-btn.is-instagram:hover,.trio-share-btn.is-instagram:focus-visible{border-color:rgba(221,42,123,.65);background:linear-gradient(135deg,rgba(131,58,180,.32),rgba(253,29,29,.18) 55%,rgba(252,176,69,.24))}
.trio-share-btn.is-email:hover,.trio-share-btn.is-email:focus-visible{border-color:rgba(244,114,182,.6);background:linear-gradient(180deg,rgba(244,114,182,.24),rgba(244,114,182,.1))}
.trio-share-btn.is-copy:hover,.trio-share-btn.is-copy:focus-visible{border-color:rgba(255,255,255,.4);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05))}
.trio-booking-section{position:relative;background:#b79699;background-image:linear-gradient(rgba(183,150,153,.96),rgba(183,150,153,.96));overflow:hidden}
.trio-booking-row{display:flex;align-items:center;gap:12px}
.trio-booking-photo-wrap{display:flex;align-items:center;justify-content:center}
.trio-booking-stage{position:relative;width:100%;max-width:760px;min-height:500px;border-radius:26px;overflow:hidden;background:url('../img/custom/trio-wood-bg.jpg') center center/cover no-repeat;box-shadow:0 26px 40px rgba(0,0,0,.16)}
.trio-booking-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,22,10,.1),rgba(0,0,0,.02) 40%,rgba(255,255,255,.03));pointer-events:none}
.trio-booking-stage-glow{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);width:72%;height:18%;background:radial-gradient(circle at center, rgba(255,239,194,.52), rgba(255,239,194,0));filter:blur(18px);pointer-events:none}
.trio-booking-photo{position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);width:min(122%,820px);max-width:none;height:auto;max-height:none;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.22))}
.trio-booking-form-wrap{text-align:left;padding-left:22px}
.trio-booking-form-wrap .section_header.with_line{text-align:center}
.trio-booking-form-wrap p{text-align:center}
.trio-booking-form-wrap .row:first-of-type{text-align:center;margin-bottom:10px}
@media(max-width:1199px){.trio-booking-stage{min-height:460px}.trio-booking-photo{width:min(124%,740px)}}
@media(max-width:991px){.trio-video-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.trio-booking-row{gap:28px}.trio-booking-form-wrap{padding-left:0}.trio-booking-stage{max-width:680px;min-height:440px}.trio-booking-photo{width:min(122%,700px)}}
@media(max-width:767px){.trio-video-actions{grid-template-columns:1fr}.trio-share-btn{min-height:46px;padding:12px 14px;border-radius:14px}.trio-booking-section{padding-top:110px}.trio-booking-stage{min-height:420px;max-width:100%;border-radius:22px}.trio-booking-photo{width:125%}}
@media(max-width:520px){.trio-booking-stage{min-height:360px}.trio-booking-photo{width:136%}.trio-booking-stage-glow{width:82%;height:20%}}
@media(max-width:390px){.trio-booking-stage{min-height:330px}.trio-booking-photo{width:142%}}

/* v3.3 desktop-first booking redesign */
.trio-booking-section{position:relative;background:
 radial-gradient(circle at 18% 25%, rgba(255,255,255,.16), rgba(255,255,255,0) 34%),
 radial-gradient(circle at 80% 18%, rgba(131,39,55,.18), rgba(131,39,55,0) 30%),
 linear-gradient(180deg, #c1a3a7 0%, #bb9ca1 100%);overflow:hidden}
.trio-booking-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.06), transparent 36%, rgba(255,255,255,.04));pointer-events:none}
.trio-booking-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);gap:42px;align-items:center}
.trio-booking-visual,.trio-booking-panel{position:relative;z-index:1}
.trio-booking-stage{position:relative;width:100%;min-height:650px;max-width:none;border-radius:34px;overflow:hidden;background:url('../img/custom/trio-wood-bg.jpg') center center/cover no-repeat;box-shadow:0 38px 70px rgba(46,22,28,.22), inset 0 0 0 1px rgba(255,255,255,.08)}
.trio-booking-stage:after{content:"";position:absolute;inset:auto 8% 6% 8%;height:18%;background:radial-gradient(circle at center, rgba(255,242,214,.7), rgba(255,242,214,0) 70%);filter:blur(24px);pointer-events:none}
.trio-booking-stage-copy{position:absolute;left:34px;top:34px;z-index:2;max-width:340px;padding:20px 22px;border-radius:22px;background:linear-gradient(180deg, rgba(24,18,17,.66), rgba(24,18,17,.32));border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);box-shadow:0 16px 30px rgba(0,0,0,.16)}
.trio-booking-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.trio-booking-stage-copy h3{margin:0 0 10px;font-size:2rem;line-height:1.1;color:#fff}
.trio-booking-stage-copy p{margin:0;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.7}
.trio-booking-photo{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(122%,980px);max-width:none;filter:drop-shadow(0 26px 40px rgba(0,0,0,.24))}
.trio-booking-panel{padding:34px 34px 30px;border-radius:32px;background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.22);box-shadow:0 28px 56px rgba(65,34,40,.14);backdrop-filter:blur(8px)}
.trio-booking-kicker{display:inline-block;margin-bottom:8px;color:#7f1327;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.trio-booking-panel .section_header{margin-top:0;margin-bottom:14px;color:#fff;text-align:left !important}
.trio-booking-panel .section_header.with_line:before,.trio-booking-panel .section_header.with_line:after{left:0 !important;right:auto !important;transform:none !important}
.trio-booking-lead{margin:0 0 22px;color:rgba(255,255,255,.92);font-size:1rem;line-height:1.8;text-align:left !important}
.trio-booking-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.trio-contact-card{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.trio-contact-role{display:block;margin-bottom:8px;color:rgba(255,255,255,.75);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.trio-contact-card strong{display:block;color:#fff;font-size:1.05rem;line-height:1.3;margin-bottom:6px}
.trio-contact-card a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.24)}
.trio-contact-card a:hover{color:#fff;border-bottom-color:#fff}
.trio-booking-form .form-group label{display:block;margin-bottom:8px;color:#fff;font-weight:600;font-size:.86rem;letter-spacing:.02em}
.trio-booking-form .form-control{height:54px;border-radius:16px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;box-shadow:none;padding:14px 18px}
.trio-booking-form textarea.form-control{height:auto;min-height:168px;resize:vertical;padding-top:16px}
.trio-booking-form .form-control::placeholder{color:rgba(255,255,255,.52);font-style:normal}
.trio-booking-form .form-control:focus{border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.12);box-shadow:0 0 0 3px rgba(255,255,255,.10)}
.trio-booking-submit{display:flex;justify-content:flex-start;margin-top:18px}
.trio-booking-submit .theme_button{min-width:200px;border-radius:999px;padding:17px 28px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 30px rgba(221,67,119,.26)}
.trio-contact-message,.trio-contact-error{margin:0 0 18px;padding:14px 16px;border-radius:16px;font-size:.95rem;line-height:1.6}
.trio-contact-message{background:rgba(31,164,99,.16);border:1px solid rgba(31,164,99,.34);color:#f2fff7}
.trio-contact-error{background:rgba(181,39,39,.16);border:1px solid rgba(181,39,39,.30);color:#fff3f3}
@media(max-width:1199px){.trio-booking-shell{grid-template-columns:1fr;gap:28px}.trio-booking-stage{min-height:560px;max-width:900px;margin:0 auto}.trio-booking-panel{max-width:900px;margin:0 auto;width:100%}}
@media(max-width:991px){.trio-booking-panel{padding:28px 24px}.trio-booking-contacts{grid-template-columns:1fr 1fr}.trio-booking-stage-copy{max-width:300px}.trio-booking-stage{min-height:500px}.trio-booking-photo{width:min(128%,860px)}}
@media(max-width:767px){.trio-booking-shell{gap:24px}.trio-booking-stage{min-height:420px;border-radius:24px}.trio-booking-stage-copy{left:18px;right:18px;top:18px;max-width:none;padding:16px 16px 14px}.trio-booking-stage-copy h3{font-size:1.5rem}.trio-booking-photo{width:134%}.trio-booking-panel{padding:24px 18px 22px;border-radius:24px}.trio-booking-contacts{grid-template-columns:1fr}.trio-booking-panel .section_header,.trio-booking-lead{text-align:center !important}.trio-booking-panel .section_header.with_line:before,.trio-booking-panel .section_header.with_line:after{left:50% !important;right:auto !important;transform:translateX(-50%) !important}.trio-booking-submit{justify-content:center}.trio-booking-submit .theme_button{width:100%;max-width:320px}}
@media(max-width:520px){.trio-booking-stage{min-height:360px}.trio-booking-photo{width:142%}.trio-booking-kicker{text-align:center;display:block}.trio-booking-panel{padding:22px 16px}}

/* v3.4 video share icons + horizontal mobile gallery */
.trio-video-section .container{overflow:visible}
.trio-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;align-items:start}
.trio-video-card{height:100%;display:flex;flex-direction:column}
.trio-video-body{display:flex;flex-direction:column;gap:14px}
.trio-video-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;justify-content:flex-start;padding-top:2px}
.trio-share-icon{width:44px;height:44px;min-width:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));color:#fff !important;text-decoration:none;box-shadow:0 12px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease}
.trio-share-icon i,.trio-share-icon .trio-share-x{font-size:1rem;line-height:1;font-weight:700}
.trio-share-icon:hover,.trio-share-icon:focus-visible{transform:translateY(-2px);color:#fff !important;text-decoration:none;box-shadow:0 18px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12)}
.trio-share-icon.is-facebook:hover,.trio-share-icon.is-facebook:focus-visible{border-color:rgba(24,119,242,.75);background:linear-gradient(180deg,rgba(24,119,242,.3),rgba(24,119,242,.16))}
.trio-share-icon.is-x:hover,.trio-share-icon.is-x:focus-visible{border-color:rgba(255,255,255,.4);background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07))}
.trio-share-icon.is-whatsapp:hover,.trio-share-icon.is-whatsapp:focus-visible{border-color:rgba(37,211,102,.72);background:linear-gradient(180deg,rgba(37,211,102,.3),rgba(37,211,102,.14))}
.trio-share-icon.is-instagram:hover,.trio-share-icon.is-instagram:focus-visible{border-color:rgba(221,42,123,.7);background:linear-gradient(135deg,rgba(131,58,180,.34),rgba(253,29,29,.2) 55%,rgba(252,176,69,.24))}
.trio-share-icon.is-email:hover,.trio-share-icon.is-email:focus-visible{border-color:rgba(244,114,182,.65);background:linear-gradient(180deg,rgba(244,114,182,.26),rgba(244,114,182,.1))}
.trio-share-icon.is-copy:hover,.trio-share-icon.is-copy:focus-visible{border-color:rgba(255,255,255,.45);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.06))}
@media(min-width:1400px){.trio-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){.trio-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:767px){.trio-video-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(84vw,84vw);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px;-webkit-overflow-scrolling:touch}.trio-video-grid::-webkit-scrollbar{height:8px}.trio-video-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.trio-video-card{scroll-snap-align:start}.trio-video-actions{justify-content:center;gap:10px}.trio-share-icon{width:42px;height:42px;min-width:42px}}

/* v3.5 alignment fixes + booking overlay reposition */
.trio-video-actions{display:grid !important;grid-template-columns:repeat(6,44px);justify-content:center;align-items:center;gap:10px;width:100%}
.trio-share-icon{display:flex !important;align-items:center;justify-content:center;justify-self:center;line-height:1;padding:0;margin:0}
.trio-share-icon .trio-share-x,.trio-share-icon i{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em}

.trio-booking-visual{display:flex;align-items:center}
.trio-booking-stage-copy{left:auto !important;right:26px;top:24px;max-width:250px;padding:16px 18px;background:linear-gradient(180deg, rgba(24,18,17,.48), rgba(24,18,17,.18));backdrop-filter:blur(4px)}
.trio-booking-stage-copy h3{font-size:1.55rem;margin-bottom:8px}
.trio-booking-stage-copy p{font-size:.95rem;line-height:1.6}
.trio-booking-photo{width:min(124%,1000px)}

@media(max-width:991px){
  .trio-video-actions{grid-template-columns:repeat(6,42px);gap:8px}
  .trio-booking-stage-copy{right:20px;top:20px;max-width:230px;padding:14px 16px}
}
@media(max-width:767px){
  .trio-video-actions{grid-template-columns:repeat(6,40px);gap:8px;justify-content:center}
  .trio-booking-stage-copy{left:16px !important;right:auto;top:16px;max-width:220px;padding:12px 14px}
  .trio-booking-stage-copy h3{font-size:1.25rem}
  .trio-booking-stage-copy p{font-size:.86rem;line-height:1.5}
}
@media(max-width:420px){
  .trio-video-actions{grid-template-columns:repeat(6,38px);gap:6px}
}

/* v3.6: local video playback + unobstructed Booking photo and dark form typography */
.trio-video-frame video{position:absolute;inset:0;width:100%;height:100%;background:#090909;object-fit:contain;border:0}
.trio-video-unavailable{position:absolute;inset:0;display:grid;place-items:center;color:#ddd;background:#111;padding:16px;text-align:center}
/* This card is no longer rendered, but disable residual earlier overlay styling. */
.trio-booking-stage-copy{display:none!important}
/* Keep all three members' faces visible even on narrow phones. */
.trio-booking-stage{min-height:580px}
.trio-booking-photo{width:114%;max-width:none;left:50%;bottom:0;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.2))}
.trio-booking-panel{color:#211b1d;background:linear-gradient(165deg,rgba(255,255,255,.47),rgba(255,255,255,.31));border-color:rgba(255,255,255,.46)}
.trio-booking-panel .section_header,.trio-booking-kicker,.trio-booking-lead,.trio-booking-panel p,.trio-booking-panel label,.trio-booking-panel .trio-contact-card strong,.trio-booking-panel .trio-contact-card a,.trio-booking-panel .trio-contact-role{color:#241a1e!important}
.trio-booking-panel .trio-contact-role{opacity:.76}
.trio-booking-panel .trio-contact-card{background:rgba(255,255,255,.22);border-color:rgba(72,32,39,.16)}
.trio-booking-panel .trio-contact-card a{border-bottom-color:rgba(46,28,34,.27)}
.trio-booking-panel .trio-contact-card a:hover{border-bottom-color:#241a1e}
.trio-booking-form .form-control{color:#1f1a1c!important;background:rgba(255,255,255,.37)!important;border-color:rgba(74,38,49,.26)!important}
.trio-booking-form .form-control::placeholder{color:rgba(31,25,28,.58)!important}
.trio-booking-form .form-control:focus{color:#161214!important;background:rgba(255,255,255,.6)!important;border-color:#995364!important;box-shadow:0 0 0 3px rgba(153,83,100,.12)!important}
.trio-booking-panel .trio-contact-message{color:#124b30!important;background:rgba(180,237,199,.6);border-color:rgba(24,138,75,.3)}
.trio-booking-panel .trio-contact-error{color:#82252b!important;background:rgba(255,223,226,.7);border-color:rgba(168,46,58,.3)}
@media(max-width:1199px){.trio-booking-stage{min-height:540px}.trio-booking-photo{width:112%}}
@media(max-width:767px){.trio-booking-stage{min-height:420px}.trio-booking-photo{width:115%}}
@media(max-width:520px){.trio-booking-stage{min-height:350px}.trio-booking-photo{width:115%}}

/* v3.7 — Barra compacta en scroll con logotipo colgante.
   El plugin de la plantilla agrega .affix cuando el encabezado queda fijo.
   Aplicado únicamente a desktop; no afecta la navegación móvil. */
@media (min-width: 992px) {
  .page_header.header_darkgrey.affix {
    height: 68px !important;
    min-height: 68px !important;
    overflow: visible !important;
    background-color: #222 !important;
    box-shadow: 0 6px 25px rgba(0, 0, 0, .28);
  }

  .page_header.affix > .container-fluid {
    height: 68px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible;
  }

  .page_header.affix > .container-fluid > .row,
  .page_header.affix .row.display_table,
  .page_header.affix .display_table {
    height: 68px !important;
    min-height: 68px !important;
    overflow: visible;
  }

  /* Deja de usar la imagen como elemento que determina el alto del header. */
  .page_header.affix .header_left_logo {
    position: relative;
    width: 235px !important;
    min-width: 235px !important;
    height: 68px !important;
    vertical-align: top;
    overflow: visible !important;
  }

  .page_header.affix .header_left_logo .logo {
    position: absolute !important;
    left: 15px;
    top: 4px;
    width: 225px;
    margin: 0;
    padding: 0;
    line-height: 0;
    z-index: 1010;
    filter: drop-shadow(0 7px 8px rgba(0, 0, 0, .40));
  }

  .page_header.affix .header_left_logo .logo img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }

  /* El menú queda verticalmente centrado en la barra delgada. */
  .page_header.affix .header_mainmenu {
    height: 68px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    vertical-align: middle;
  }

  .page_header.affix .sf-menu > li > a {
    padding-top: 21px !important;
    padding-bottom: 21px !important;
    line-height: 26px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .page_header.affix .header_left_logo {
    width: 192px !important;
    min-width: 192px !important;
  }
  .page_header.affix .header_left_logo .logo {
    width: 186px;
    left: 10px;
  }
}

/* v3.8 — Video preview cards + accessible on-demand lightbox player */
.trio-video-frame .trio-video-launch {
  position:absolute; inset:0; width:100%; height:100%; display:block; overflow:hidden;
  text-decoration:none; color:#fff; isolation:isolate; background:#171719;
}
.trio-video-frame .trio-video-cover {
  position:absolute; inset:0; display:block; width:100%; height:100%;
  object-fit:cover; transition:transform .45s cubic-bezier(.22,1,.36,1); border:0;
}
.trio-video-cover-fallback {
  position:absolute; inset:0; display:grid; place-items:center; color:#bf777d;
  background:radial-gradient(ellipse at 55% 34%,#5b303e 0%,#291f29 52%,#151519 100%);
}
.trio-video-cover-fallback i {font-size:clamp(3rem,7vw,5rem);opacity:.4;}
.trio-video-cover-shade {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.24) 55%,rgba(0,0,0,.64));
}
.trio-video-play {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:76px; height:76px; border-radius:50%; display:grid;place-items:center;
  background:linear-gradient(145deg,#ed4776,#bb1948); box-shadow:0 10px 36px rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.35); color:#fff; transition:transform .22s ease,box-shadow .22s ease;
}
.trio-video-play i {font-size:1.35rem; transform:translateX(2px);line-height:1;}
.trio-video-play-label {
  position:absolute;bottom:17px;left:20px;font-size:.82rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.92);
}
.trio-video-launch:hover .trio-video-cover,.trio-video-launch:focus-visible .trio-video-cover {transform:scale(1.055);}
.trio-video-launch:hover .trio-video-play,.trio-video-launch:focus-visible .trio-video-play {
  transform:translate(-50%,-50%) scale(1.09);box-shadow:0 16px 46px rgba(0,0,0,.47);
}
.trio-video-launch:focus-visible {outline:3px solid #fff;outline-offset:-4px;}
.trio-video-card {min-width:0;}

body.trio-player-open{overflow:hidden!important;}
.trio-player-overlay[hidden]{display:none!important;}
.trio-player-overlay {
  position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;
  z-index:2147480000!important;padding:clamp(12px,3vw,30px);
  padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));
  color:#fff;font-family:Arial,Helvetica,sans-serif;
}
.trio-player-backdrop {position:absolute;inset:0;background:rgba(6,7,11,.86);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);}
.trio-player-dialog {
  position:relative;z-index:1;width:min(1080px,100%);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);
  padding:clamp(12px,2vw,23px);overflow-y:auto; overscroll-behavior:contain;
  border:1px solid rgba(255,255,255,.18);border-radius:26px;
  background:linear-gradient(165deg,#26262a,#151518 64%);box-shadow:0 32px 100px rgba(0,0,0,.65);
}
.trio-player-dialog:focus {outline:none;}
.trio-player-heading {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;}
.trio-player-heading-text{min-width:0;}
.trio-player-eyebrow {display:block;font-size:10px;font-weight:700;letter-spacing:.19em;color:#e5a8b7;margin-bottom:6px;}
.trio-player-heading #trio-player-title {font-size:clamp(19px,2.5vw,30px);font-weight:650;color:#fff;line-height:1.25;margin:0;overflow-wrap:anywhere;}
.trio-player-close {
  appearance:none;flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;
  padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.10);
  color:#fff!important;font-size:32px;line-height:1;cursor:pointer;transition:background .18s ease,transform .18s ease;
}
.trio-player-close:hover{background:#d83b68;transform:rotate(90deg);}
.trio-player-close:focus-visible,.trio-player-close-text:focus-visible{outline:3px solid #f7adbf;outline-offset:3px;}
.trio-player-stage {
  position:relative;width:100%;aspect-ratio:16/9;background:#050505;border-radius:15px;overflow:hidden;
  border:1px solid rgba(255,255,255,.11);margin-inline:auto;
}
.trio-player-stage iframe,.trio-player-stage video {
  position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000;
}
.trio-player-stage video{object-fit:contain;}
.trio-player-stage.is-portrait {width:min(400px,100%);max-width:calc((100dvh - 170px)*.5625);aspect-ratio:9/16;}
.trio-player-footer {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 2px 0;color:rgba(255,255,255,.6);font-size:.9rem;}
.trio-player-close-text {
  appearance:none;background:transparent;border:1px solid rgba(255,255,255,.26);color:#fff!important;
  border-radius:999px;padding:9px 18px;font-size:.85rem;font-weight:700;cursor:pointer;
}
.trio-player-close-text:hover{background:rgba(255,255,255,.10);}
@media(max-width:640px){
  .trio-video-play{width:66px;height:66px;}
  .trio-player-overlay{padding-inline:10px;}
  .trio-player-dialog{border-radius:19px;padding:12px;max-height:calc(100dvh - 18px);}
  .trio-player-heading{margin-bottom:12px;}
  .trio-player-close{flex-basis:44px;width:44px;height:44px;}
  .trio-player-stage{border-radius:12px;}
  .trio-player-footer{padding-top:12px;}
}
@media(prefers-reduced-motion:reduce){
  .trio-video-cover,.trio-video-play,.trio-player-close{transition:none!important;}
}

/* Keep share icons intact while showing short copy feedback. */
.trio-video-actions .trio-share-icon {position:relative;}
.trio-share-icon.trio-share-feedback-active::after {
  content:attr(data-status);position:absolute;inset:0;display:grid;place-items:center;
  border-radius:50%;font-size:1rem;font-weight:700;background:#d83b68;color:#fff;
}
