:root{--ink:#102f36;--deep:#073c40;--teal:#19b7a6;--mint:#c8f1e8;--paper:#fbfaf7;--white:#fff;--muted:#6e8383;--line:#e6ece9;--coral:#f79a7a;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif;--wrap:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.announcement{height:35px;padding:0 max(calc((100% - var(--wrap))/2),24px);display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#e1f7f0;font-size:11px;letter-spacing:.03em}.announcement a{color:#abeee0}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:82px;padding:0 max(calc((100% - var(--wrap))/2),24px);background:rgba(251,250,247,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,47,54,.06)}.brand img{width:183px;height:auto;max-height:45px;object-fit:contain}.nav{display:flex;align-items:center;gap:40px;margin-left:auto;margin-right:42px}.nav a{font-size:13px;color:#476063;transition:color .2s}.nav a:hover,.nav a.active{color:var(--deep)}.nav a.active{font-weight:700}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 21px;border-radius:999px;background:var(--teal);color:#042f31;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.header-cta:hover,.btn:hover{transform:translateY(-2px);background:#42c9b9}.header-cta span{font-size:16px}.menu-toggle{display:none;border:0;background:none;font-size:25px;color:var(--deep)}.container{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}.eyebrow{margin:0 0 14px;color:#148a80;font-size:10px;letter-spacing:.19em;font-weight:700;text-transform:uppercase}.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;color:white;background:#124a4e}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,37,42,.74),rgba(5,37,42,.38) 52%,rgba(5,37,42,.05)),url('https://images.unsplash.com/photo-1518509562904-e7ef99cdcc86?auto=format&fit=crop&w=2200&q=88');background-size:cover;background-position:center 49%;transform:scale(1.01)}.hero-inner{position:relative;width:min(var(--wrap),calc(100% - 48px));margin:0 auto;padding:90px 0 100px}.hero .eyebrow{color:#a0eddb}.hero h1{max-width:700px;margin:0;font:500 clamp(58px,8.5vw,112px)/.97 var(--display);letter-spacing:-.075em}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}.hero-copy{max-width:465px;margin:25px 0 29px;color:#e2efeb;font-size:15px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:25px}.hero .btn{padding:15px 23px}.hero-link{font-size:12px;font-weight:600}.hero-stamp{position:absolute;right:3%;bottom:70px;width:112px;height:112px;border:1px solid #ffffff88;border-radius:50%;display:grid;place-items:center;text-align:center;color:#eff8f1;font-size:9px;line-height:1.55;letter-spacing:.15em;transform:rotate(9deg)}.hero-stamp b{display:block;color:#b5f0de;font-size:20px}.trust-strip{display:flex;justify-content:center;gap:62px;flex-wrap:wrap;padding:22px 24px;border-bottom:1px solid var(--line);color:#71817d;font-size:11px;letter-spacing:.04em}.trust-strip span{display:flex;gap:8px;align-items:center}.trust-strip b{color:#16978b;font-size:15px}.section{padding:94px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.section-head h2,.section-title{max-width:690px;margin:0;font:600 clamp(34px,5vw,55px)/1.07 var(--display);letter-spacing:-.06em}.section-head p:not(.eyebrow){max-width:410px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:12px;color:#137d76;font-size:12px;font-weight:700;white-space:nowrap}.text-link:hover{gap:17px}.destination-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.destination-card{position:relative;min-height:330px;overflow:hidden;border-radius:9px;background:#356d69}.destination-card:first-child{min-height:374px}.destination-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .6s}.destination-card:hover img{transform:scale(1.055)}.destination-card:after{content:"";position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(4,28,32,.68))}.destination-info{position:absolute;z-index:1;left:24px;bottom:22px;color:white}.destination-info span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#c2eae2}.destination-info h3{margin:5px 0 0;font:600 25px var(--display);letter-spacing:-.04em}.destination-arrow{position:absolute;z-index:2;right:19px;bottom:22px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff9c;border-radius:50%;color:white}.section-tint{background:#f1f5f1}.trip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.trip-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:white;transition:transform .25s,box-shadow .25s}.trip-card:hover{transform:translateY(-5px);box-shadow:0 18px 48px #103b3814}.trip-photo{position:relative;height:235px;overflow:hidden}.trip-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.trip-card:hover .trip-photo img{transform:scale(1.04)}.trip-tag{position:absolute;top:15px;left:15px;padding:8px 11px;border-radius:30px;background:#fffc;color:var(--deep);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.trip-content{padding:20px 20px 19px}.trip-meta{display:flex;align-items:center;justify-content:space-between;color:#198b80;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.trip-content h3{margin:10px 0 7px;font:700 20px/1.22 var(--display);letter-spacing:-.045em}.trip-content p{min-height:43px;margin:0;color:var(--muted);font-size:12px;line-height:1.65}.trip-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:15px;border-top:1px solid #edf0ed}.trip-duration{color:#72817f;font-size:10px}.trip-price{font:700 14px var(--display)}.trip-price small{display:block;margin-top:3px;color:#81908c;font:400 9px var(--sans);text-align:right}.feature-band{display:grid;grid-template-columns:1fr 1fr;min-height:470px;background:#073c40;color:white}.feature-photo{min-height:420px;background:url('https://images.unsplash.com/photo-1530789253388-582c481c54b0?auto=format&fit=crop&w=1200&q=85') center/cover}.feature-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(32px,8vw,120px)}.feature-copy .eyebrow{color:#a0eddb}.feature-copy h2{max-width:470px;margin:0 0 16px;font:600 clamp(36px,4.7vw,57px)/1.04 var(--display);letter-spacing:-.065em}.feature-copy p{max-width:400px;color:#d0e2de;font-size:13px;line-height:1.8}.feature-copy .btn{margin-top:13px}.review-tease{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.review-mark{font:140px/.7 var(--serif);color:#8ed8c8}.review-quote{max-width:580px;font:400 clamp(23px,3vw,34px)/1.35 var(--serif);letter-spacing:-.025em}.review-by{margin-top:20px;color:var(--muted);font-size:11px}.review-score{display:flex;align-items:center;gap:16px;margin-top:30px}.stars{color:#e8a958;letter-spacing:3px}.review-score b{font:700 29px var(--display)}.review-score small{color:var(--muted);font-size:10px}.bottom-cta{position:relative;overflow:hidden;padding:68px 30px;background:#dff2eb;text-align:center}.bottom-cta:after{content:"✳";position:absolute;right:8%;top:-54px;color:#b9e8db;font-size:220px;transform:rotate(17deg)}.bottom-cta .eyebrow{position:relative;z-index:1}.bottom-cta h2{position:relative;z-index:1;margin:0 0 20px;font:600 clamp(37px,6vw,61px)/1.02 var(--display);letter-spacing:-.065em}.bottom-cta .btn{position:relative;z-index:1}.footer{padding:56px max(calc((100% - var(--wrap))/2),24px) 20px;background:#082f33;color:white}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:35px;padding-bottom:45px}.footer-brand img{width:170px;filter:brightness(1.35)}.footer-main p{color:#afc5c0;font-size:11px;line-height:1.7}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:12px}.footer-main b{margin-bottom:5px;color:#e0f1eb;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.footer-main>div>a:not(.brand){color:#afc5c0;font-size:11px}.footer-main>div>a:hover{color:white}.footer-note{border-left:1px solid #ffffff35;padding-left:22px!important;justify-content:center}.route-symbol{font-size:32px;color:var(--teal)}.footer-bottom{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid #ffffff24;color:#91aaa5;font-size:9px;letter-spacing:.04em}
/* Inner pages */
.page-hero{padding:82px 0 70px;background:#edf5ef}.page-hero .container{display:flex;justify-content:space-between;align-items:end;gap:40px}.page-hero h1{max-width:750px;margin:0;font:600 clamp(45px,7vw,79px)/1 var(--display);letter-spacing:-.075em}.page-hero p:not(.eyebrow){max-width:430px;color:var(--muted);font-size:13px;line-height:1.75}.market-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:27px}.search-box{display:flex;align-items:center;gap:10px;width:min(460px,100%);padding:0 16px;border:1px solid var(--line);border-radius:40px;background:#fff}.search-box input{width:100%;padding:14px 0;border:0;outline:0;color:var(--ink);font-size:12px}.sort-select{padding:13px 16px;border:1px solid var(--line);border-radius:40px;background:white;color:#4e6767;font-size:11px}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.tour-hero{position:relative;min-height:440px;display:flex;align-items:end;color:white;background:#174b50}.tour-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover}.tour-hero:after{position:absolute;content:"";inset:0;background:linear-gradient(0deg,#082d32d9,transparent 80%)}.tour-hero-content{position:relative;z-index:1;width:min(var(--wrap),calc(100% - 48px));margin:0 auto;padding:75px 0 49px}.tour-hero-content .eyebrow{color:#a8ebde}.tour-hero h1{max-width:780px;margin:0;font:600 clamp(45px,7vw,76px)/1 var(--display);letter-spacing:-.075em}.tour-subtitle{margin:14px 0;color:#e3efeb;font-size:13px}.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:58px;align-items:start}.tour-main{padding-top:58px}.tour-main h2{margin:0 0 14px;font:600 32px var(--display);letter-spacing:-.05em}.tour-main p{color:#627675;font-size:13px;line-height:1.85}.itinerary{margin-top:30px;border-top:1px solid var(--line)}.day{display:grid;grid-template-columns:68px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.day-number{color:#178c81;font-size:10px;font-weight:700;letter-spacing:.12em}.day h3{margin:0 0 6px;font:700 14px var(--display)}.day p{margin:0;font-size:11px}.booking-card{position:sticky;top:106px;margin-top:55px;padding:25px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 18px 45px #103b380b}.booking-card .price-large{font:700 27px var(--display);letter-spacing:-.04em}.booking-card .price-large span{display:block;margin-top:4px;color:var(--muted);font:400 10px var(--sans);letter-spacing:0}.booking-card hr{border:0;border-top:1px solid var(--line);margin:19px 0}.booking-card ul{padding-left:17px;color:#617574;font-size:11px;line-height:2}.booking-card .btn{width:100%;border:0;cursor:pointer}.booking-card>small{display:block;margin-top:12px;color:var(--muted);font-size:9px;text-align:center;line-height:1.6}.detail-banner{margin:28px 0;padding:17px 20px;border-radius:6px;background:#edf5ef;color:#54716b;font-size:10px;line-height:1.6}.reviews-hero{background:#e7f2eb}.reviews-empty{max-width:750px;margin:15px auto 50px;padding:70px 30px;border:1px dashed #bdcfc8;border-radius:10px;text-align:center;background:#fff}.reviews-empty b{display:block;margin-bottom:14px;color:#d29d54;font-size:20px;letter-spacing:3px}.reviews-empty h2{margin:0 0 10px;font:600 29px var(--display);letter-spacing:-.05em}.reviews-empty p{max-width:460px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.75}
/* Admin panel */
.admin-shell{min-height:calc(100vh - 117px);background:#f0f4f2}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:#fff;border-bottom:1px solid var(--line)}.admin-top b{font:700 14px var(--display)}.admin-top span{color:var(--muted);font-size:10px}.admin-layout{display:grid;grid-template-columns:230px 1fr;max-width:1400px;min-height:650px;margin:auto}.admin-side{padding:28px 16px;background:#fff;border-right:1px solid var(--line)}.admin-side .eyebrow{padding-left:12px}.admin-tab{display:block;width:100%;padding:12px;border:0;border-radius:6px;background:transparent;text-align:left;color:#5c7473;font-size:12px;cursor:pointer}.admin-tab:hover,.admin-tab.active{background:#eaf5ef;color:#087e75;font-weight:700}.admin-main{padding:35px;min-width:0}.admin-main h1{margin:0 0 6px;font:700 28px var(--display);letter-spacing:-.05em}.admin-main>p{margin:0 0 25px;color:var(--muted);font-size:11px}.admin-card{margin:17px 0;padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-card h2{margin:0 0 18px;font:700 15px var(--display)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:700;color:#5d7170}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #dfe8e4;border-radius:5px;outline-color:var(--teal);font-size:11px;color:var(--ink)}.field textarea{min-height:82px;resize:vertical}.admin-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px}.admin-actions .btn{border:0;cursor:pointer}.btn-outline{padding:10px 14px;border:1px solid #d6e2dd;border-radius:40px;background:white;color:#496361;font-size:10px;cursor:pointer}.admin-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #edf1ef}.admin-row img{width:60px;height:46px;border-radius:4px;object-fit:cover}.admin-row b{display:block;font-size:11px}.admin-row small{color:var(--muted);font-size:9px}.admin-row button{border:0;background:transparent;color:#a55b4c;font-size:10px;cursor:pointer}.admin-note{padding:13px 15px;border-radius:5px;background:#eff6f1;color:#5a716b;font-size:10px;line-height:1.7}.toast{position:fixed;z-index:510;right:20px;bottom:22px;max-width:calc(100vw - 40px);padding:13px 18px;border-radius:50px;background:var(--deep);color:white;font-size:11px;box-shadow:0 8px 28px #071f2040;opacity:0;transform:translateY(12px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.nav{gap:24px;margin-right:10px}.hero{min-height:560px}.hero-stamp{right:7%;bottom:35px}.destination-card{min-height:270px}.destination-card:first-child{min-height:310px}.trip-grid,.market-grid{grid-template-columns:repeat(2,1fr)}.trip-card:last-child:nth-child(odd){display:none}.feature-copy{padding:55px 36px}.footer-main{grid-template-columns:1.2fr .8fr .8fr}.footer-note{display:none!important}.tour-layout{grid-template-columns:minmax(0,1fr) 285px;gap:28px}.admin-layout{grid-template-columns:190px 1fr}.admin-main{padding:28px}}
@media(max-width:650px){.announcement{padding-inline:16px;font-size:9px}.header{min-height:70px;padding-inline:18px}.brand img{width:150px}.nav{display:none;position:absolute;top:69px;left:0;right:0;margin:0;padding:14px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 5px}.header-cta{margin-left:auto;padding:11px 14px;font-size:10px}.menu-toggle{display:block}.container,.hero-inner,.tour-hero-content{width:calc(100% - 36px)}.hero{min-height:590px;align-items:end}.hero-bg{background-position:56% center}.hero-inner{padding:90px 0 85px}.hero h1{font-size:clamp(55px,14vw,78px)}.hero-copy{max-width:360px;font-size:13px}.hero-stamp{right:20px;top:26px;bottom:auto;width:82px;height:82px;font-size:7px}.hero-stamp b{font-size:16px}.hero-actions{gap:16px}.trust-strip{justify-content:flex-start;gap:12px 25px;padding:17px 18px;font-size:9px}.section{padding:65px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:23px}.section-head h2,.section-title{font-size:38px}.destination-grid{grid-template-columns:1fr 1fr;gap:10px}.destination-card,.destination-card:first-child{min-height:210px}.destination-card:first-child{grid-column:1/-1;min-height:260px}.destination-info{left:14px;bottom:14px}.destination-info h3{font-size:20px}.destination-info span{font-size:8px}.destination-arrow{right:12px;bottom:13px;width:29px;height:29px}.trip-grid,.market-grid{grid-template-columns:1fr;gap:14px}.trip-card:last-child:nth-child(odd){display:block}.trip-photo{height:225px}.trip-content{padding:17px}.trip-content p{min-height:0}.feature-band{grid-template-columns:1fr}.feature-photo{min-height:270px}.feature-copy{padding:45px 24px 50px}.feature-copy h2{font-size:42px}.review-tease{grid-template-columns:1fr;gap:12px}.review-mark{font-size:91px}.review-quote{font-size:26px}.bottom-cta{padding:55px 20px}.footer{padding:40px 20px 18px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{gap:10px;flex-direction:column;font-size:8px}.page-hero{padding:57px 0 45px}.page-hero .container{align-items:flex-start;flex-direction:column;gap:8px}.page-hero h1{font-size:53px}.page-hero p:not(.eyebrow){margin-bottom:0}.market-controls{align-items:stretch;flex-direction:column}.sort-select{width:100%}.tour-hero{min-height:370px}.tour-hero-content{padding-bottom:32px}.tour-hero h1{font-size:47px}.tour-layout{grid-template-columns:1fr;gap:0}.tour-main{padding-top:35px}.booking-card{position:static;grid-row:1;margin-top:22px}.tour-main h2{font-size:26px}.reviews-empty{padding:50px 20px}.admin-top{padding:15px}.admin-layout{grid-template-columns:1fr}.admin-side{display:flex;overflow-x:auto;gap:5px;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.admin-side .eyebrow{display:none}.admin-tab{width:auto;white-space:nowrap;padding:10px}.admin-main{padding:21px 15px}.admin-main h1{font-size:24px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.admin-row{grid-template-columns:52px 1fr auto}.admin-row img{width:52px;height:42px}.admin-card{padding:16px}.admin-actions{align-items:flex-start;flex-direction:column}.admin-actions .btn{width:100%}}
.hotel-initial{width:50px;height:42px;display:grid;place-items:center;border-radius:5px;background:#e4f3ed;color:#14897e;font:700 20px var(--display)}.hotel-row{grid-template-columns:50px minmax(0,1fr) auto}.hotel-row-actions{display:flex;gap:6px}.hotel-row-actions button:first-child{color:#13867c}.hotel-rates{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.rate-group{padding:17px;border:1px solid #dceae4;border-radius:7px;background:#f8fbf9}.rate-group--contract{background:#f5f7f5}.rate-group h3{margin:0;font:700 13px var(--display);color:#117d74}.rate-group p{margin:4px 0 14px;color:var(--muted);font-size:9px}.rate-group .field-grid{gap:10px}.rate-group .field{grid-column:1/-1}.rate-group .field label{font-size:9px}@media(max-width:650px){.hotel-row{grid-template-columns:42px minmax(110px,1fr) auto;gap:8px}.hotel-initial{width:40px;height:40px}.hotel-row-actions{flex-direction:column;gap:1px}.hotel-rates{grid-template-columns:1fr}}
.season-coverage{margin-top:18px;padding:16px;border:1px solid #dceae4;border-radius:7px;background:#fff}.season-coverage>h4{margin:0;color:#385d5a;font:700 12px var(--display)}.season-coverage>p{margin:5px 0 13px;color:var(--muted);font-size:9px;line-height:1.6}.season-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.season-date-card{padding:12px;border-radius:5px;background:#f3f8f5}.season-date-card>b{display:block;margin-bottom:9px;color:#147e74;font-size:10px}.season-date-card .field{margin-top:8px}.season-date-card input[type=date]{padding:9px 7px;font-size:10px}.room-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 12px}.room-list-heading h2{margin:0!important}.hotel-room-fields{margin:12px 0;padding:18px;border:1px solid #dce8e2;border-radius:8px;background:#fbfdfb}.room-editor-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.room-editor-heading h3{margin:0;color:var(--deep);font:700 14px var(--display)}.room-remove{padding:7px 10px;border:1px solid #ead6d1;border-radius:40px;background:white;color:#a55b4c;font-size:9px;cursor:pointer}@media(max-width:760px){.season-date-grid{grid-template-columns:1fr}.room-list-heading{align-items:flex-start;flex-direction:column}.hotel-room-fields{padding:12px}}
.season-coverage{margin:22px 0;padding:19px;border:1px solid #dceae4;border-radius:7px;background:#fff}.season-coverage>h3{margin:0;color:#385d5a;font:700 14px var(--display)}.season-coverage>p{margin:5px 0 15px;color:var(--muted);font-size:10px;line-height:1.6}.season-date-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:start;gap:12px}.season-date-card{padding:13px;border-radius:5px;background:#f3f8f5}.season-date-card>b{display:block;margin-bottom:9px;color:#147e74;font-size:10px}.season-date-card .field{margin-top:8px}.season-date-card input[type=date]{padding:9px 7px;font-size:10px}.season-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.season-heading .btn-outline{padding:7px 9px;font-size:9px}.peak-range{position:relative;margin:10px 0;padding:10px;border:1px solid #dceae4;border-radius:5px;background:#fff}.peak-range strong{display:block;margin-bottom:7px;color:#607674;font-size:9px}.peak-range .room-remove{margin-top:8px}.room-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 12px}.room-list-heading h2{margin:0!important}.hotel-room-fields{margin:12px 0;padding:18px;border:1px solid #dce8e2;border-radius:8px;background:#fbfdfb}.room-editor-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.room-editor-heading h3{margin:0;color:var(--deep);font:700 14px var(--display)}.room-remove{padding:7px 10px;border:1px solid #ead6d1;border-radius:40px;background:white;color:#a55b4c;font-size:9px;cursor:pointer}@media(max-width:760px){.season-date-grid{grid-template-columns:1fr}.room-list-heading{align-items:flex-start;flex-direction:column}.hotel-room-fields{padding:12px}}

/* Responsive refinements for small tablets and phones */
.trip-card:last-child:nth-child(odd){display:block}
@media(max-width:760px){
  .admin-layout{grid-template-columns:1fr}
  .admin-side{display:flex;overflow-x:auto;gap:5px;padding:8px;border-right:0;border-bottom:1px solid var(--line)}
  .admin-side .eyebrow{display:none}
  .admin-tab{width:auto;white-space:nowrap;padding:10px 12px;flex:0 0 auto}
  .admin-main{padding:24px}
  .hotel-rates{grid-template-columns:1fr}
  .season-date-grid{grid-template-columns:1fr}
  .season-date-card--peak{grid-column:1/-1}
}
@media(max-width:650px){
  .header{gap:12px}
  .header-cta{gap:8px;padding:10px 12px}
  .season-coverage{padding:14px}
  .season-date-grid{gap:8px}
  .season-date-card{padding:12px}
  .admin-main{padding:19px 14px}
  .hotel-row{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}
  .hotel-row-actions{flex-direction:column;gap:0}
  .hotel-row-actions button{padding:6px}
  .room-list-heading{align-items:stretch}
  .room-list-heading .btn-outline{width:100%}
  .room-editor-heading{gap:8px}
  .room-remove{padding:8px 10px;min-height:34px}
  .admin-actions>div{display:flex;flex-wrap:wrap;gap:8px}
  .admin-actions>div .btn,.admin-actions>div .btn-outline{flex:1}
  .market-controls{width:100%}
  .search-box{min-width:0}
  .page-hero h1{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .header{padding-inline:12px;gap:9px}
  .brand img{width:122px}
  .header-cta{padding:9px 10px;font-size:9px}
  .menu-toggle{padding:4px;font-size:22px}
  .container,.hero-inner,.tour-hero-content{width:calc(100% - 28px)}
  .hero h1{font-size:clamp(48px,14vw,59px)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:15px}
  .trip-content h3{font-size:18px}
  .admin-top{gap:10px;align-items:flex-start;flex-direction:column}
  .hotel-initial{width:36px;height:36px}
  .hotel-row{grid-template-columns:36px minmax(0,1fr) auto;gap:6px}
  .hotel-row small{line-height:1.5}
  .rate-group,.hotel-room-fields{padding:12px}
  .field input,.field textarea,.field select{min-width:0}
}
.collapse-card{padding:0;overflow:hidden}.collapse-summary{display:flex;align-items:center;gap:10px;min-height:50px;padding:14px 18px;color:var(--deep);font:700 14px var(--display);cursor:pointer;list-style:none}.collapse-summary::-webkit-details-marker{display:none}.collapse-summary::after{content:"+";display:grid;width:24px;height:24px;margin-left:auto;place-items:center;border:1px solid #d6e4de;border-radius:50%;color:#187f76;font:600 16px var(--sans)}details[open]>.collapse-summary::after{content:"−"}.collapse-card>.collapse-summary{border-bottom:1px solid transparent}.collapse-card[open]>.collapse-summary{border-color:var(--line)}.hotel-record-list{padding:0 18px 8px}.hotel-details-disclosure{margin:16px 0;border:1px solid #e0eae5;border-radius:7px;background:#fbfdfb}.hotel-details-disclosure>.collapse-summary{padding:12px 15px}.hotel-details-disclosure>.field-grid{padding:0 15px 16px}.season-coverage{padding:0;overflow:hidden}.season-coverage>.collapse-summary{padding:13px 16px;border-bottom:1px solid #e7eeea}.season-coverage-body{padding:4px 16px 16px}.hotel-room-fields{padding:0;overflow:hidden}.hotel-room-fields>.collapse-summary{padding:13px 16px;background:#f2f7f3;border-bottom:1px solid #e0eae5}.hotel-room-body{padding:15px}.collapse-summary:focus-visible{outline:2px solid var(--teal);outline-offset:-3px;border-radius:5px}@media(max-width:650px){.collapse-summary{padding:12px 14px}.hotel-record-list{padding:0 10px 8px}.hotel-room-body{padding:12px}.season-coverage-body{padding:4px 12px 12px}}

/* Tour package cards, itinerary builder, and date-based booking */
.trip-card[hidden]{display:none!important}.trip-card{display:flex;flex-direction:column}.trip-content{flex:1}.package-book-link{display:block;margin:0 19px 18px;padding:11px 14px;border:1px solid #d6e6df;border-radius:40px;color:#087e75;text-align:center;font-size:10px;font-weight:700;transition:.2s}.package-book-link:hover{background:#eaf5ef}.package-price{display:block;color:var(--deep);font:700 14px var(--display);white-space:nowrap}.package-price b{color:#d26745}.trip-price s,.price-large s{margin-left:5px;color:#899794;font:400 11px var(--sans)}.trip-price .countdown{color:#bd6545;font-weight:700}.trip-tag--promo{background:#fff0e8;color:#a54c33}.package-accordion{margin:28px 0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.package-accordion>summary{display:flex;align-items:center;gap:10px;padding:17px 19px;cursor:pointer;list-style:none;color:var(--deep);font:700 14px var(--display)}.package-accordion>summary::-webkit-details-marker{display:none}.package-accordion>summary:after{content:"+";display:grid;width:25px;height:25px;margin-left:auto;place-items:center;border:1px solid #dce8e2;border-radius:50%;color:#148b80}.package-accordion[open]>summary:after{content:"−"}.package-accordion>summary span{color:var(--muted);font:400 10px var(--sans)}.package-accordion .itinerary{padding:0 18px 18px}.itinerary-day{align-items:start}.itinerary-day img{width:min(100%,520px);max-height:280px;margin-top:14px;border-radius:7px;object-fit:cover}.package-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:38px 0}.package-inclusions section{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.package-inclusions h2{font:700 18px var(--display)}.package-inclusions ul{padding-left:18px;color:#607674;font-size:12px;line-height:1.9}.promo-price{color:#c85539}.countdown-box{padding:10px 12px;border-radius:5px;background:#fff2ea;color:#a84e37;font-size:10px}.booking-fields{display:grid;gap:11px;margin:18px 0}.booking-fields label{display:grid;gap:6px;color:#566e6c;font-size:10px;font-weight:700}.booking-fields input,.booking-fields select{width:100%;min-width:0;padding:11px 10px;border:1px solid #dce7e1;border-radius:5px;background:white;color:var(--ink);font-size:11px}.hotel-estimate{padding:13px;border-radius:6px;background:#eff6f1;color:#315c53}.hotel-estimate b{display:block;font:700 12px var(--display)}.hotel-estimate span{display:block;margin-top:5px;color:#67807a;font-size:9px;line-height:1.6}.booking-actions{display:grid;gap:8px;margin:15px 0}.booking-channel{width:100%;padding:12px 14px;border:0;cursor:pointer}.booking-channel--whatsapp{background:#1f9b66;color:white}.booking-channel--messenger{background:#1677ea;color:white}.booking-channel.is-unconfigured{opacity:.72}.hero-book{margin-top:15px;border:0;cursor:pointer}.itinerary-builder{margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.itinerary-builder .room-list-heading p{margin:5px 0;color:var(--muted);font-size:10px}.itinerary-edit-row{margin:6px 0;padding:0;border:1px solid #dce8e2;border-radius:7px;background:#fff;overflow:hidden}.itinerary-edit-row>.field-grid{padding:14px}.itinerary-edit-row>.room-remove{margin:0 14px 14px}.booking-card{scroll-margin-top:115px}
@media(max-width:760px){.package-inclusions{grid-template-columns:1fr}.booking-card{width:100%}.tour-hero-content .hero-book{margin-top:14px}}
@media(max-width:650px){.package-book-link{margin-inline:16px}.package-accordion>summary{padding:14px}.package-accordion .itinerary{padding:0 12px 12px}.package-inclusions{gap:10px}.package-inclusions section{padding:15px}.booking-fields{gap:9px}.booking-actions{grid-template-columns:1fr}.itinerary-day{grid-template-columns:54px minmax(0,1fr)}.itinerary-day img{max-height:220px}.trip-price{white-space:normal}.package-price{font-size:13px}}

/* Tour and room photo galleries */
.tm-gallery{width:min(1120px,calc(100% - 48px));margin:28px auto 34px}.tm-gallery-frame{position:relative;overflow:hidden;aspect-ratio:16/7;border-radius:10px;background:#eaf1ed}.tm-gallery-frame img{display:block;width:100%;height:100%;object-fit:cover}.tm-gallery-counter{position:absolute;right:16px;bottom:15px;padding:7px 10px;border-radius:30px;background:#102f35bb;color:#fff;font-size:10px}.tm-gallery-arrow{position:absolute;top:50%;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:#ffffffed;color:#12383c;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 4px 15px #102f3528}.tm-gallery-prev{left:15px}.tm-gallery-next{right:15px}.tm-gallery-dots{display:flex;justify-content:center;gap:7px;padding:11px}.tm-gallery-dot{width:8px;height:8px;padding:0;border:0;border-radius:20px;background:#c5d5ce;cursor:pointer;transition:width .2s}.tm-gallery-dot.active{width:23px;background:#12988d}.tm-gallery--room{width:100%;margin:10px 0}.tm-gallery--room .tm-gallery-frame{aspect-ratio:16/10;border-radius:6px}.tm-gallery--room .tm-gallery-arrow{width:32px;height:32px;font-size:20px}.package-room-gallery{margin:12px 0}.room-gallery-label{margin:0 0 5px;color:#51706b;font-size:9px;font-weight:700}.room-gallery-empty{padding:12px;border:1px dashed #d5e2dc;border-radius:6px;color:#738682;font-size:9px;text-align:center}.room-gallery-admin{display:grid;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #e5ede8}.room-gallery-admin>b,.room-gallery-admin>div:first-child>b{display:block;color:#385d5a;font-size:11px}.room-gallery-admin small{display:block;margin-top:4px;color:#6d827c;font-size:9px}.room-gallery-admin input[type=file]{width:100%;padding:10px;border:1px dashed #cbdcd3;border-radius:5px;background:#fff;font-size:10px}.room-gallery-preview{display:flex;flex-wrap:wrap;gap:8px}.room-gallery-preview img{width:74px;height:60px;border-radius:5px;object-fit:cover}.tm-gallery-data{display:none}
@media(max-width:650px){.tm-gallery{width:calc(100% - 28px);margin:20px auto 24px}.tm-gallery-frame{aspect-ratio:4/3;border-radius:7px}.tm-gallery-arrow{width:35px;height:35px;font-size:22px}.tm-gallery-prev{left:9px}.tm-gallery-next{right:9px}.tm-gallery--room .tm-gallery-frame{aspect-ratio:4/3}}

.package-card-hotel-rate{display:flex;flex-direction:column;gap:4px;margin:0 19px 10px;padding:10px 12px;border-radius:6px;background:#eff6f1;color:#365c54;font-size:10px}.package-card-hotel-rate b{color:#087e75;font-size:12px}.package-card-hotel-rate small{color:#71817c;font-size:9px}.package-card-hotel-rate--empty{background:#f7f8f6;color:#788682}.package-card-hotel-rate--empty span{font-weight:600}@media(max-width:650px){.package-card-hotel-rate{margin-inline:16px}}

/* Reference-inspired tour package cards, with dates omitted */
.reference-trip-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #54b8e5;border-radius:20px;background:#fff;box-shadow:0 6px 18px #164e6510}.reference-trip-photo{display:block;position:relative;height:auto;aspect-ratio:1.12;overflow:hidden;border-radius:18px 18px 0 0}.reference-trip-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.reference-trip-card:hover .reference-trip-photo img{transform:scale(1.035)}.reference-trip-photo .trip-tag{top:14px;left:14px;right:auto;padding:8px 12px;border-radius:30px;background:#fff;color:#1675a8;font-size:8px;letter-spacing:.06em}.reference-trip-content{display:flex;flex:1;flex-direction:column;padding:18px 20px 17px}.reference-trip-content h3{min-height:0;margin:0 0 7px;font:700 16px/1.35 var(--display);letter-spacing:-.02em;color:#124e72}.reference-trip-place{display:flex;gap:5px;margin:0;color:#71818e;font-size:11px;line-height:1.5}.reference-trip-place span{color:#4e6d7c;font-size:15px;line-height:1}.reference-promo-timer{margin-top:6px;color:#c16a43;font-size:9px}.reference-trip-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid #d9e8f1}.reference-from,.reference-currency{display:block;color:#8495a1;font-size:10px}.reference-price{display:block;color:#155878;font:700 19px/1.25 var(--display)}.reference-sale{color:#ce5e3d}.reference-trip-bottom s{color:#8c9ba4;font-size:10px}.reference-view{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:30px;background:#238fc0;color:white;font-size:10px;font-weight:700;white-space:nowrap}.reference-view:hover{background:#1376a4}.reference-trip-card .package-card-hotel-rate,.reference-trip-card .package-book-link{display:none}
@media(max-width:650px){.reference-trip-photo{aspect-ratio:1.25}.reference-trip-content{padding:15px 16px}.reference-trip-content h3{font-size:15px}.reference-price{font-size:18px}.reference-view{padding:9px 11px}}

/* Booking summary and travel date range */
.booking-date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px;margin:18px 0 12px;padding:0;border:0}.booking-date-range legend{grid-column:1/-1;margin-bottom:7px;color:#566e6c;font-size:10px;font-weight:700}.booking-date-range label{display:grid;gap:6px;color:#73817d;font-size:9px}.booking-date-range input{width:100%;min-width:0;padding:10px 7px;border:1px solid #dce7e1;border-radius:5px;background:white;color:var(--ink);font-size:10px}.booking-date-range>span{padding-bottom:10px;color:#8b9d98;font-size:12px}.package-total{margin:14px 0 12px;padding:15px;border:1px solid #d9e9e4;border-radius:7px;background:#f3f8f5}.package-total-heading{color:#47635e;font-size:10px;font-weight:700}.package-total-price{margin:4px 0 10px;color:#124d68;font:700 27px/1.15 var(--display);letter-spacing:-.04em}.package-total-breakdown{display:grid;grid-template-columns:1fr auto;gap:6px;color:#6c807b;font-size:9px}.package-total-breakdown b{max-width:150px;color:#34564f;text-align:right;font-weight:600}.package-total>small{display:block;margin-top:9px;color:#71847e;font-size:8px;line-height:1.5}.booking-channel--primary{background:#198a70;color:#fff}.booking-channel--primary:hover{background:#126e5a}.booking-card .booking-actions{gap:7px}.booking-card .booking-actions a:not(.booking-channel--primary){padding:9px 11px;background:#f1f6f3;color:#42645d;font-size:9px}
@media(max-width:760px){.booking-date-range{gap:5px}.package-total-price{font-size:24px}.package-total-breakdown b{max-width:125px}}

/* Package selection controls now sit in the always-open itinerary section */
.package-itinerary{padding:22px 20px 20px}.package-itinerary .itinerary{margin-top:15px}.itinerary-title{margin:0;color:var(--deep);font:700 22px var(--display);letter-spacing:-.04em}.itinerary-booking-controls{margin-top:22px;padding-top:19px;border-top:1px solid #dfe9e4}.itinerary-booking-fields{margin:0;padding:0}.itinerary-booking-fields h3{margin:0;color:var(--deep);font:700 16px var(--display)}.itinerary-controls-note{margin:4px 0 12px;color:#70827d;font-size:9px;line-height:1.6}.itinerary-booking-fields .booking-date-range{max-width:460px;margin:12px 0}.itinerary-booking-fields>label{max-width:460px}.itinerary-booking-fields .package-room-gallery{max-width:460px}.booking-card .booking-fields{margin:0}.booking-card .package-total{margin-top:15px}

.package-hotels-select{min-height:76px}.package-hotels-select option{padding:5px}.room-occupancy-field{margin:12px 0}.room-occupancy-field small{color:#70827d;font-size:9px}.package-guests-field{max-width:460px;display:grid;gap:6px;color:#566e6c;font-size:10px;font-weight:700}.package-guests-field input{width:100%;padding:10px;border:1px solid #dce7e1;border-radius:5px;font-size:11px}

/* Full package planner and booking summary */
.package-detail-layout{grid-template-columns:minmax(0,1fr) 350px;gap:42px}.package-detail-main{padding-top:30px}.package-details-copy h2{margin:0 0 10px;font:700 30px var(--display);color:var(--deep)}.package-configurator{margin:24px 0;padding:20px;border:1px solid #dce9e3;border-radius:9px;background:#fff}.package-configurator>h2{margin:0 0 12px;font:700 19px var(--display)}.package-configurator>label{display:grid;max-width:540px;gap:6px;margin:11px 0;color:#526a66;font-size:10px;font-weight:700}.package-configurator>label select{width:100%;padding:11px 10px;border:1px solid #dce7e1;border-radius:5px;background:white;color:var(--ink);font-size:11px}.package-configurator .booking-date-range{max-width:500px}.package-configurator .booking-date-range label{font-weight:600}.season-select-field{margin-top:8px!important}.guest-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px;margin:14px 0 5px}.guest-count-grid label{display:grid;gap:6px;color:#526a66;font-size:10px;font-weight:700}.guest-count-grid input{width:100%;min-width:0;padding:10px;border:1px solid #dce7e1;border-radius:5px;font-size:11px}.guest-rate-note{margin:4px 0 12px!important;color:#80908b!important;font-size:9px!important;line-height:1.55!important}.package-summary-card{margin-top:30px}.package-summary-card>h2{margin:0 0 14px;color:#124e72;font:700 21px/1.3 var(--display);letter-spacing:-.03em}.selected-details-heading{margin:0 0 8px;color:var(--deep);font:700 13px var(--display)}.package-selected-details{display:grid;gap:8px}.package-selected-details>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px;color:#71817d;font-size:9px}.package-selected-details b{color:#36574f;text-align:right;font-weight:600;overflow-wrap:anywhere}.package-itinerary{padding:22px 20px 20px}.package-itinerary .itinerary{margin-top:15px}.itinerary-title{margin:0;color:var(--deep);font:700 22px var(--display);letter-spacing:-.04em}.package-configurator .package-room-gallery{max-width:520px}.package-configurator .package-total{display:none}
@media(max-width:850px){.package-detail-layout{grid-template-columns:minmax(0,1fr) 310px;gap:22px}}
@media(max-width:760px){.package-detail-layout{grid-template-columns:1fr;gap:0}.package-summary-card{grid-row:1;position:static;margin:14px 0 22px}.package-detail-main{padding-top:5px}.package-configurator{padding:15px}.guest-count-grid{gap:7px}.guest-count-grid input{padding:9px 6px}.package-summary-card .package-total-price{font-size:24px}}

/* Emphasize the package price in the booking summary */
.package-summary-card .price-large{font-size:clamp(36px,3.2vw,44px);line-height:1.08;letter-spacing:-.055em;color:#124e72}.package-summary-card .price-large s{font-size:15px;letter-spacing:0}.package-summary-card .price-large>span:not(.promo-price){font-size:11px;line-height:1.4;letter-spacing:0}

/* Responsive refinements across the full TravelMe experience */
@media(max-width:1100px){:root{--wrap:1000px}.container{width:calc(100% - 48px)}.package-detail-layout{gap:28px}.package-detail-layout .package-summary-card{width:100%;box-sizing:border-box}}
@media(max-width:850px){.package-detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.package-configurator{padding:17px}.package-summary-card{padding:20px}.tour-main{min-width:0}.package-inclusions{gap:12px}.tm-gallery{width:calc(100% - 40px)}.admin-layout{grid-template-columns:170px minmax(0,1fr)}.admin-main{padding:24px}.hotel-rates{grid-template-columns:1fr}.season-date-grid{grid-template-columns:1fr 1fr}.season-date-card--peak{grid-column:1/-1}}
@media(max-width:760px){.tour-hero{min-height:350px}.tour-hero-content{padding:55px 0 32px}.tour-hero h1{font-size:clamp(38px,8vw,58px)}.package-detail-layout{grid-template-columns:minmax(0,1fr);gap:10px}.package-summary-card{grid-row:1;position:static;top:auto;margin:10px 0 16px}.package-detail-main{grid-row:2}.package-configurator{margin:16px 0}.package-configurator>label,.package-configurator .booking-date-range,.package-configurator .package-room-gallery{max-width:none}.package-summary-card .price-large{font-size:38px}.package-total{padding:13px}.tm-gallery{width:calc(100% - 32px);margin:18px auto 22px}.tm-gallery-frame{aspect-ratio:16/9}.admin-layout{grid-template-columns:minmax(0,1fr)}.admin-side{position:sticky;top:0;z-index:15;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;white-space:nowrap}.admin-tab{flex:0 0 auto;width:auto}.admin-main{padding:20px 16px}.admin-top{gap:8px;flex-wrap:wrap}.admin-top span{font-size:9px}.room-list-heading{align-items:flex-start;flex-wrap:wrap}.hotel-room-fields{min-width:0}.package-hotels-select{max-width:100%}}
@media(max-width:520px){.container{width:calc(100% - 30px)}.header{gap:8px;padding-inline:14px}.brand img{width:136px}.header-cta{padding:10px 11px;font-size:9px}.tour-hero{min-height:310px}.tour-hero-content{width:calc(100% - 30px)}.tour-hero h1{font-size:38px}.package-detail-layout{width:calc(100% - 26px)}.package-details-copy h2{font-size:25px}.package-configurator{padding:14px 12px}.package-configurator>h2{font-size:17px}.guest-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.guest-count-grid label{font-size:9px}.guest-count-grid input{padding:9px 5px}.booking-date-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.booking-date-range input{padding:9px 5px;font-size:10px}.package-summary-card{padding:17px}.package-summary-card>h2{font-size:19px}.package-summary-card .price-large{font-size:34px}.package-selected-details>div{grid-template-columns:75px minmax(0,1fr)}.package-selected-details b{font-size:9px}.package-total-price{font-size:26px}.package-total-breakdown{font-size:8px}.package-total-breakdown b{max-width:135px}.tm-gallery-frame{aspect-ratio:4/3}.tm-gallery-arrow{width:34px;height:34px}.package-itinerary{padding:17px 13px}.package-itinerary .day{grid-template-columns:44px minmax(0,1fr);gap:11px}.package-inclusions section{min-width:0}.admin-top{padding:12px}.admin-top span{max-width:55%;text-align:right}.admin-main{padding:17px 12px}.admin-main h1{font-size:23px}.admin-card{padding:13px}.admin-row{grid-template-columns:42px minmax(0,1fr) auto;gap:8px}.admin-row img{width:42px;height:38px}.admin-row button{padding:7px 4px;font-size:9px}.hotel-row-actions{display:flex;gap:5px}.field-grid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}.season-date-grid{grid-template-columns:minmax(0,1fr)}.season-date-card--peak{grid-column:auto}.admin-actions{gap:10px}.room-list-heading .btn-outline{max-width:100%;white-space:normal}.rate-group{padding:12px}.hotel-rates .field-grid{grid-template-columns:1fr 1fr}.itinerary-edit-row>.field-grid{padding:10px}.room-gallery-preview img{width:62px;height:52px}}
@media(max-width:360px){.header-cta{display:none}.menu-toggle{margin-left:auto}.guest-count-grid{grid-template-columns:1fr 1fr}.guest-count-grid label:last-child{grid-column:1/-1}.package-summary-card .price-large{font-size:30px}.booking-actions .booking-channel{padding:11px 8px;font-size:10px}.package-total-breakdown{grid-template-columns:minmax(0,1fr) auto}.package-total-breakdown b{max-width:115px}.admin-row{grid-template-columns:36px minmax(0,1fr)}.admin-row .hotel-row-actions{grid-column:2;justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(min-width:651px) and (max-width:760px){.header{gap:12px;padding-inline:20px}.brand img{width:145px}.nav{gap:15px;margin-right:12px}.nav a{font-size:11px}.header-cta{padding:10px 13px;font-size:10px}}
.footer .footer-brand img{filter:brightness(0) saturate(100%) invert(94%) sepia(8%) saturate(390%) hue-rotate(344deg) brightness(102%) contrast(92%)}

/* Admin and public review sections */
.review-connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.review-connect-grid .admin-card{margin:0 0 16px}.review-connect-grid .field{margin:12px 0}.review-open-links,.review-platform-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.review-open-links a{color:#087e75;font-size:10px;font-weight:700}.admin-review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:14px 0;border-bottom:1px solid #e7eeea}.admin-review-row b,.admin-review-row small{display:block}.admin-review-row small{margin-top:4px;color:#71817c;font-size:9px}.admin-review-row p{max-width:720px;color:#526c67;font-size:11px;line-height:1.65}.review-stars{color:#f2a82d;letter-spacing:.12em}.public-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.public-review-card{padding:22px;border:1px solid #dce8e2;border-radius:9px;background:#fff}.public-review-top{display:flex;justify-content:space-between;gap:12px;color:#7d8d87;font-size:9px}.public-review-card blockquote{margin:17px 0;color:#34534f;font:500 16px/1.65 var(--display)}.public-review-by{display:grid;gap:3px;color:#72827c;font-size:9px}.public-review-by b{color:var(--deep);font-size:11px}.review-platform-links{margin-bottom:20px}.review-platform-links .btn{background:#e7f4ef;color:#146b60}.admin-review-row .hotel-row-actions{flex:0 0 auto}
@media(max-width:760px){.review-connect-grid,.public-review-grid{grid-template-columns:1fr}.admin-review-row{flex-direction:column}.review-platform-links .btn{flex:1}}

.review-widget-url small{color:#71817c;font-size:9px;line-height:1.5}.review-widgets-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}.review-widget-panel{overflow:hidden;border:1px solid #dce8e2;border-radius:9px;background:#fff}.review-widget-panel h2{margin:0;padding:15px 18px;border-bottom:1px solid #e4ede8;color:var(--deep);font:700 16px var(--display)}.review-widget-panel iframe{display:block;width:100%;height:470px;border:0;background:#f8faf8}
@media(max-width:760px){.review-widgets-grid{grid-template-columns:1fr}.review-widget-panel iframe{height:430px}}

/* Source-linked reviews with circular reviewer profiles */
.review-entry-form .field small{color:#71817c;font-size:9px;line-height:1.45}.admin-review-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.admin-review-identity>div{min-width:0}.review-avatar{display:grid;flex:0 0 42px;width:42px;height:42px;overflow:hidden;place-items:center;border-radius:50%;background:#e3f1ed;color:#137f75;font-size:12px;font-weight:700}.review-avatar img{width:100%;height:100%;object-fit:cover}.admin-review-identity small a,.review-source-link{color:#147f76;font-weight:600}.admin-review-identity p{margin:7px 0}.public-review-by{display:flex;align-items:center;gap:10px}.public-review-by .review-avatar{width:40px;height:40px;flex-basis:40px}.public-review-author{display:grid;gap:3px}.public-review-author b{color:var(--deep);font-size:11px}.public-review-author span,.public-review-author time{color:#71817c;font-size:9px}

.review-source-icon{display:inline-grid;flex:0 0 20px;width:20px;height:20px;margin-right:5px;place-items:center;border-radius:50%;vertical-align:middle;font:700 12px/1 Arial,sans-serif}.review-source-icon--facebook{background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-size:15px}.review-source-icon--instagram{background:linear-gradient(135deg,#7845c2,#e14379 55%,#f0a43a);color:#fff;font-size:15px}.review-source-icon--google{background:#fff;border:1px solid #e2e8e5;color:#4285f4;font-size:13px}.review-source-icon--tripadvisor{background:#35aa75;color:#fff;font-size:11px}.review-source-icon--yelp{background:#d32323;color:#fff;font-size:12px}.review-source-preview{display:block;margin:0 0 6px}.review-source-link{display:inline-flex;align-items:center;gap:3px}.review-source-link .review-source-icon{margin-right:2px}.admin-review-row small .review-source-icon{width:18px;height:18px;font-size:10px}.admin-review-row small .review-source-icon--facebook{font-size:13px}.public-review-top>span:last-child{display:flex;align-items:center;gap:3px}

/* Browse controls and responsive reviews layout */
.review-browse-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px}.review-filter-bar{display:flex;flex-wrap:wrap;gap:8px}.review-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid #dce8e2;border-radius:30px;background:#fff;color:#47635e;font-size:9px;cursor:pointer}.review-filter-chip>span:last-child{color:#84928d;font-size:8px}.review-filter-chip .review-source-icon{width:17px;height:17px;flex-basis:17px;margin:0;font-size:10px}.review-filter-chip.active{border-color:#1b9888;background:#eaf6f2;color:#126e63;font-weight:700}.review-sort-label{display:flex;align-items:center;gap:8px;color:#71817c;font-size:9px;white-space:nowrap}.review-sort-label select{padding:8px 10px;border:1px solid #dce8e2;border-radius:5px;background:#fff;color:#3b5b55;font-size:10px}.public-review-card{min-width:0;transition:transform .2s,box-shadow .2s}.public-review-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #123b3510}.public-review-card[hidden]{display:none!important}.public-review-card blockquote{overflow-wrap:anywhere}.public-review-top>span:last-child{min-width:0;overflow-wrap:anywhere}.admin-review-row{min-width:0}.admin-review-identity p{overflow-wrap:anywhere}
@media(max-width:760px){.review-browse-controls{align-items:stretch;flex-direction:column}.review-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.review-filter-chip{flex:0 0 auto}.review-sort-label{justify-content:space-between}.public-review-grid{grid-template-columns:1fr;gap:12px}.public-review-card{padding:17px}.public-review-card blockquote{font-size:14px}.admin-review-row{gap:12px}.admin-review-identity{width:100%}}
@media(max-width:420px){.review-filter-chip{padding:7px 9px;font-size:8px}.review-sort-label select{flex:1}.review-source-icon{width:18px;height:18px;flex-basis:18px}.admin-review-identity{gap:9px}.admin-review-identity .review-avatar{width:36px;height:36px;flex-basis:36px}}
.review-stars{font-size:18px;line-height:1.1;letter-spacing:.14em}.public-review-top .review-stars{font-size:21px}.admin-review-row .review-stars{display:block;margin-top:3px;font-size:16px}.public-review-card .review-stars{color:#f2a82d}@media(max-width:420px){.public-review-top .review-stars{font-size:19px}}
.public-review-author b{font-size:15px;line-height:1.3}.admin-review-identity>div>b{font-size:13px;line-height:1.35}@media(max-width:420px){.public-review-author b{font-size:14px}}
.public-review-grid+.bottom-cta{margin-top:52px}@media(max-width:760px){.public-review-grid+.bottom-cta{margin-top:32px}}
.review-source-icon{font-size:0!important}.review-source-icon svg{display:block;width:14px;height:14px}.review-source-icon--facebook{background:#1877f2;color:#fff}.review-source-icon--instagram{background:linear-gradient(135deg,#7845c2,#e14379 55%,#f0a43a);color:#fff}.review-source-icon--google{background:#fff;color:#4285f4}.review-source-icon--google svg{width:16px;height:16px}.review-source-icon--tripadvisor{background:#fff;color:#143d32}.review-source-icon--tripadvisor svg{width:17px;height:17px}.review-source-icon--yelp{background:#d32323;color:#fff}.review-source-icon--yelp svg{width:13px;height:13px}

.review-source-icon--google{flex:0 0 18px;width:18px;height:18px;margin-right:5px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:inherit}.review-source-icon--google svg{width:18px;height:18px}

/* Taytay Palawan guide */
.taytay-hero{position:relative;display:flex;min-height:470px;align-items:center;overflow:hidden;padding:70px max(6vw,24px);background-image:var(--taytay-cover);background-position:center;background-size:cover;color:#fff}.taytay-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#082f36dc 0%,#082f3694 48%,#082f3620 100%)}.taytay-hero-copy{position:relative;z-index:1;width:min(680px,100%)}.taytay-hero h1{margin:10px 0;font:800 clamp(42px,7vw,76px)/1.03 var(--display);letter-spacing:-.055em}.taytay-hero-copy>p:not(.eyebrow){max-width:520px;font-size:17px;line-height:1.7}.taytay-container{max-width:1060px}.taytay-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;padding:16px 0 44px;border-bottom:1px solid #e2ebe6}.taytay-intro h2,.taytay-section .section-head h2{margin:7px 0;color:var(--deep);font:750 clamp(27px,4vw,40px)/1.12 var(--display);letter-spacing:-.04em}.taytay-intro>p{margin:4px 0;color:#526c67;font-size:15px;line-height:1.8}.taytay-section{padding:40px 0;border-bottom:1px solid #e2ebe6;scroll-margin-top:90px}.taytay-section .section-head{margin-bottom:20px}.taytay-section .section-head>div>p:last-child{color:#71817c;font-size:12px}.taytay-hotline{display:flex;gap:15px;align-items:center;padding:18px 20px;border:1px solid #d8e9e1;border-radius:12px;background:#eff8f4;color:#224943}.taytay-hotline>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:50%;background:#d8f0e7;color:#098b7d;font-size:20px}.taytay-hotline b{font-size:14px}.taytay-hotline p{margin:4px 0 0;color:#58716b;font-size:12px;line-height:1.6}.taytay-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.taytay-info-card{display:flex;gap:14px;min-width:0;padding:17px;border:0;border-radius:11px;background:#fff}.taytay-card-number{color:#12a99a;font:700 12px var(--display)}.taytay-info-card h3{margin:0 0 5px;color:#143a40;font-size:14px}.taytay-info-card p,.taytay-empty{margin:0;color:#627772;font-size:11px;line-height:1.65}.taytay-book{margin-top:20px}.taytay-map{height:390px;overflow:hidden;border:1px solid #dce8e2;border-radius:12px;background:#f0f5f2}.taytay-map iframe{display:block;width:100%;height:100%;border:0}.taytay-map>div{display:grid;height:100%;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;color:#58716b}.taytay-travel-note{margin:35px 0 0;padding:20px;border-radius:12px;background:#f4f7f4;color:#536b65}.taytay-travel-note b{color:#173b3e;font-size:14px}.taytay-travel-note p{font-size:11px;line-height:1.7}.taytay-travel-note a{color:#087f75;font-size:11px;font-weight:700}.admin-tab[data-admin-tab="taytay"]{white-space:nowrap}
@media(max-width:760px){.taytay-hero{min-height:390px;padding:48px 22px}.taytay-hero-shade{background:linear-gradient(90deg,#082f36d9,#082f367c 75%,#082f3640)}.taytay-intro{grid-template-columns:1fr;gap:10px;padding-bottom:28px}.taytay-section{padding:29px 0}.taytay-card-grid{grid-template-columns:1fr}.taytay-map{height:330px}}
@media(max-width:420px){.taytay-hero{min-height:355px}.taytay-hero h1{font-size:42px}.taytay-hero-copy>p:not(.eyebrow){font-size:14px}.taytay-map{height:280px}.taytay-info-card{padding:14px}.taytay-hotline{align-items:flex-start;padding:15px}}

/* Cover photos and source links for Taytay directory cards */
.taytay-info-card{display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0}.taytay-card-cover{display:block;width:100%;height:190px;object-fit:cover;background:#e7efeb}.taytay-card-copy{position:relative;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:17px}.taytay-card-number{margin-bottom:8px}.taytay-card-heading{display:flex;align-items:baseline;gap:8px;width:100%}.taytay-card-heading .taytay-card-number{flex:none;margin:0}.taytay-card-copy h3{margin:0;min-width:0;overflow-wrap:anywhere;color:#143a40;font-size:15px}.taytay-card-copy p{margin:0;color:#627772;font-size:11px;line-height:1.65}.taytay-photo-note{margin-top:12px;color:#8b9993;font-size:9px}.taytay-source-link{margin-top:8px;color:#087f75;font-size:10px;font-weight:700}.taytay-card-cover[src=""]{display:none}
@media(min-width:761px){.taytay-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.taytay-card-cover{height:180px}}
@media(max-width:760px){.taytay-card-cover{height:210px}.taytay-card-copy{padding:15px}}

/* Tourist emergency contacts for Taytay */
.taytay-hotline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.taytay-hotline-card{display:flex;align-items:flex-start;gap:13px;min-width:0;padding:17px;border:1px solid #d9e9e2;border-radius:11px;background:#f0f8f4}.taytay-hotline-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:#d8f0e7;color:#087f75;font-size:18px}.taytay-hotline-card h3{margin:1px 0 8px;color:#143a40;font-size:13px}.taytay-hotline-numbers{display:flex;flex-wrap:wrap;gap:7px}.taytay-hotline-numbers a{display:inline-flex;padding:7px 10px;border:1px solid #cce3d9;border-radius:20px;background:white;color:#087f75;font-size:11px;font-weight:700;text-decoration:none}.taytay-hotline-source{margin:14px 0 0;color:#6c8079;font-size:10px;line-height:1.7}.taytay-hotline-source a{color:#087f75;font-weight:700}
@media(max-width:600px){.taytay-hotline-grid{grid-template-columns:1fr}.taytay-hotline-card{padding:14px}.taytay-hotline-numbers a{font-size:10px}}

/* Separate mainland and island lodging with practical route guidance */
.taytay-stay-group+.taytay-stay-group{margin-top:30px}.taytay-stay-heading{margin:0 0 14px;padding:13px 16px;border-left:3px solid #12a99a;border-radius:0 9px 9px 0;background:#edf7f3}.taytay-stay-heading h3{margin:0;color:#153e42;font:700 18px var(--display)}.taytay-stay-heading p{margin:4px 0 0;color:#637a73;font-size:11px;line-height:1.55}.taytay-directions-note{margin:10px 0 0!important;padding:10px 11px;border-radius:7px;background:#f3f7f5;color:#506c65!important;font-size:10px!important}.taytay-card-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.taytay-source-link,.taytay-directions-link{display:inline-flex;align-items:center;min-height:34px;padding:8px 11px;border:1px solid #d5e8df;border-radius:24px;background:#f2faf6;color:#087f75;font-size:10px;font-weight:700;text-decoration:none}.taytay-directions-link{border-color:#078e7d;background:#078e7d;color:#fff}.taytay-card-links a:hover{filter:brightness(.96)}
@media(max-width:500px){.taytay-card-links{display:grid;grid-template-columns:1fr}.taytay-card-links a{justify-content:center}.taytay-stay-group+.taytay-stay-group{margin-top:22px}}

/* Taytay visitor guide: fluid cards, readable media, and narrow-screen admin fields. */
.taytay-hero h1{max-width:900px;font-size:clamp(2.4rem,7.5vw,6rem);overflow-wrap:anywhere}.taytay-container{width:min(100% - 32px,1180px)}.taytay-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch}.taytay-info-card,.taytay-card-copy{min-width:0}.taytay-card-copy p,.taytay-hotline-source,.taytay-travel-note p{overflow-wrap:anywhere}.taytay-package-grid .trip-card{min-width:0;width:100%;height:100%}.taytay-section .section-head>div{min-width:0}.taytay-map{height:clamp(260px,42vw,480px)}.taytay-activity-copy-fields{margin:0 0 16px}.taytay-activity-copy-fields .field{min-width:0}.admin-card textarea{max-width:100%;min-width:0}
@media(max-width:760px){.taytay-container{width:min(100% - 28px,1180px)}.taytay-hero{min-height:clamp(340px,76vw,470px);padding:36px 20px}.taytay-hero-copy{max-width:100%}.taytay-hero h1{font-size:clamp(2.5rem,11vw,4.2rem)}.taytay-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.taytay-card-cover{height:clamp(175px,52vw,240px)}.taytay-map{height:clamp(250px,68vw,360px)}.taytay-hotline-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.taytay-package-grid .trip-card{height:auto}}
@media(max-width:500px){.taytay-container{width:calc(100% - 24px)}.taytay-hero{padding:30px 16px}.taytay-hero h1{font-size:clamp(2.25rem,12vw,3.5rem)}.taytay-hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.6}.taytay-card-grid{grid-template-columns:minmax(0,1fr)}.taytay-info-card{width:100%}.taytay-card-cover{height:210px}.taytay-section{padding:25px 0}.taytay-section .section-head h2{font-size:clamp(25px,8vw,34px)}.taytay-map{height:260px}.taytay-admin-form .field-grid,.taytay-activity-copy-fields{grid-template-columns:minmax(0,1fr)}}
.review-source-icon--google,.review-source-icon--tripadvisor{overflow:hidden;background:transparent!important;border:0!important;border-radius:50%;padding:0}.review-source-icon--google img,.review-source-icon--tripadvisor img{display:block;width:100%;height:100%;object-fit:contain}.review-source-icon--google{border-radius:0}.review-source-icon--instagram{overflow:hidden;background:transparent}.review-source-icon--instagram svg{width:100%;height:100%}

/* Active promotion ribbon on the package booking summary */
.package-summary-card--sale{position:relative;overflow:hidden;padding-top:40px}.package-sale-ribbon{position:absolute;z-index:2;top:18px;right:-43px;width:158px;padding:8px 10px;transform:rotate(45deg);background:#d52f37;color:#fff;text-align:center;font:800 10px/1.2 var(--display);letter-spacing:.12em;box-shadow:0 4px 12px #102f3660;filter:drop-shadow(0 2px 3px #102f3640)}.package-summary-card--sale .eyebrow{margin-top:2px}
@media(max-width:760px){.package-sale-ribbon{top:16px;right:-44px;width:150px;font-size:9px}.package-summary-card--sale{padding-top:39px}}
.package-sale-ribbon--card{z-index:5;display:block;pointer-events:none;top:12px;right:-43px;width:144px;padding:9px 9px;font-size:10px;line-height:1.25;letter-spacing:.07em;font-weight:900;text-shadow:0 1px 1px #8f1720;box-shadow:0 4px 10px #102f3645;filter:drop-shadow(0 2px 3px #102f3628)}.trip-photo{position:relative;overflow:hidden}
@media(max-width:500px){.package-sale-ribbon--card{top:11px;right:-40px;width:136px;padding:8px 8px;font-size:9px;letter-spacing:.05em}}

/* Stronger rate and promotion emphasis on package cards */
.reference-price{font-size:25px;line-height:1.15}.reference-promo-timer{font-size:12px;font-weight:600;margin-top:9px}.reference-trip-bottom{padding-top:17px}
@media(max-width:650px){.reference-price{font-size:23px}.reference-promo-timer{font-size:11px}}

/* Package detail rate emphasis and branded booking channels */
.package-summary-card .price-large .promo-price{display:inline!important;margin:0!important;color:#d52f37;font:800 clamp(32px,3.4vw,40px)/1.05 var(--display)!important;letter-spacing:-.055em!important}.package-summary-card .price-large> s{font-size:17px!important}.package-summary-card .price-large{font-size:clamp(34px,3.8vw,42px)}
@media(max-width:760px){.package-summary-card .price-large .promo-price{font-size:34px!important}.package-summary-card .price-large{font-size:36px}}
@media(max-width:520px){.package-summary-card .price-large .promo-price{font-size:32px!important}.package-summary-card .price-large{font-size:34px}}

.season-coverage-note{display:grid;gap:4px;margin:-5px 0 12px;padding:10px 12px;border:1px solid #dcece5;border-radius:7px;background:#f3f8f5;color:#58716b;font-size:10px;line-height:1.45}.season-coverage-note>span{display:block}.season-coverage-note>span:first-child{color:#173f43;font-size:10px}.season-coverage-note small{color:#83918b;font-size:9px}
@media(max-width:520px){.season-coverage-note{font-size:9px;padding:9px 10px}}

/* Align the package cover gallery with the package details container */
.tm-gallery{width:min(var(--wrap),calc(100% - 48px));max-width:100%;margin-left:auto;margin-right:auto}.tm-gallery-frame{width:100%}.tm-gallery-frame img{object-fit:cover}
@media(max-width:760px){.tm-gallery{width:calc(100% - 48px)}}
@media(max-width:520px){.tm-gallery{width:calc(100% - 26px);margin-top:18px;margin-bottom:22px}}



/* Auto-fit review cards and embedded review panels across screen sizes. */
.public-review-grid{display:block;columns:320px;column-gap:clamp(12px,2vw,20px);column-fill:balance}
.public-review-card{display:inline-flex;flex-direction:column;vertical-align:top;width:100%;height:fit-content;min-width:0;max-width:100%;margin:0 0 clamp(12px,2vw,20px);padding:clamp(16px,2vw,24px);overflow:hidden;break-inside:avoid;page-break-inside:avoid}
.public-review-top{align-items:flex-start;flex-wrap:wrap;min-width:0}
.public-review-top>span:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%;text-align:right}
.public-review-card blockquote{flex:1 0 auto;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.public-review-by,.public-review-author{min-width:0;max-width:100%;overflow-wrap:anywhere}
.review-widgets-grid,.review-connect-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start}
.review-widget-panel{min-width:0;max-width:100%}
.review-widget-panel iframe{max-width:100%;height:clamp(320px,55vw,470px)}
@media(max-width:520px){.public-review-grid{columns:1;column-gap:0}.public-review-card{margin-bottom:12px;padding:16px}.public-review-top .review-stars{font-size:20px}.review-widgets-grid,.review-connect-grid{grid-template-columns:minmax(0,1fr)}.review-widget-panel iframe{height:clamp(300px,75vh,420px)}}
@media(min-width:1000px) and (max-width:1440px){.public-review-grid{column-count:3;column-width:auto;max-width:1120px;margin-inline:auto}}

/* Site-wide responsive polish: roomier sections, clearer hierarchy, and fluid grids. */
:root{--wrap:1280px;--line:#dfe9e5}
body{overflow-x:hidden}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #18b7a6;outline-offset:3px}
.announcement{min-height:36px;height:auto;gap:12px}.header{padding-inline:max(calc((100% - var(--wrap))/2),clamp(16px,3vw,42px))}.nav a{white-space:nowrap}.section{padding-block:clamp(56px,7.5vw,100px)}.section-tint{background:linear-gradient(135deg,#f3f7f2,#eaf5f0 70%,#f7f6f0)}
.destination-card,.trip-card,.public-review-card,.taytay-info-card,.admin-card,.booking-card{border-radius:14px}.destination-card,.trip-card,.public-review-card,.taytay-info-card{box-shadow:0 8px 28px #123e3808}.destination-card:hover,.trip-card:hover,.public-review-card:hover,.taytay-info-card:hover{box-shadow:0 18px 42px #123e3816}
.trip-grid,.market-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:stretch}.trip-card:last-child:nth-child(odd){display:flex}.trip-photo{height:auto;aspect-ratio:1.55}.trip-content{display:flex;flex:1;flex-direction:column}.trip-bottom{margin-top:auto}.trip-content p{min-height:0}.package-sale-ribbon--card{font-size:10px;font-weight:900;-webkit-font-smoothing:antialiased;text-shadow:0 1px 1px #85101a;box-shadow:0 5px 13px #102f3650}
.destination-card{min-height:clamp(220px,28vw,390px)}.destination-card:first-child{min-height:clamp(260px,32vw,430px)}
.public-review-grid{width:min(100%,1160px);margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(12px,1.6vw,20px)}.public-review-card{height:auto;min-width:0;padding:clamp(17px,2vw,24px);overflow-wrap:anywhere}.public-review-card blockquote{font-size:clamp(14px,1.15vw,17px)}
.taytay-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.taytay-info-card{border-color:#e0ebe6}.taytay-card-cover{height:clamp(170px,18vw,230px)}.taytay-stay-heading{border-radius:0 12px 12px 0}
.tour-layout,.package-detail-layout{width:min(var(--wrap),calc(100% - 48px))}.tour-layout{grid-template-columns:minmax(0,1fr) minmax(280px,350px)}.package-detail-layout{grid-template-columns:minmax(0,1fr) minmax(300px,350px)}.tour-main,.package-detail-main,.package-summary-card{min-width:0}.package-summary-card,.booking-card{border-radius:16px;box-shadow:0 14px 38px #103b3812}.tm-gallery-frame{border-radius:16px}.package-configurator,.package-itinerary,.package-total{border-radius:14px}.package-inclusions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.package-inclusions>section{min-width:0}.package-inclusions ul{padding-left:18px;line-height:1.8}
.page-hero{background:radial-gradient(ellipse at 86% 12%,#d3eee6 0,transparent 36%),linear-gradient(135deg,#edf5ef,#f7f5ee)}.bottom-cta{background:linear-gradient(120deg,#dff2eb,#eaf6ef 52%,#d4eee7)}.feature-band{background:linear-gradient(125deg,#073c40,#0c5554)}.feature-photo{min-width:0}
.admin-shell,.admin-layout,.admin-main,.admin-card,.field-grid,.field{min-width:0}.admin-card{border-radius:12px;box-shadow:0 5px 20px #123e3806}.admin-tab{min-height:42px}.admin-row{min-width:0}.admin-row>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.field input,.field textarea,.field select{min-height:42px;border-radius:8px}.field textarea{min-height:100px;line-height:1.5}.btn,.header-cta,.btn-outline{min-height:42px}.admin-actions{flex-wrap:wrap}
@media(max-width:1100px){.header{gap:18px}.nav{gap:clamp(12px,2vw,24px);margin-right:12px}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-card:first-child{grid-column:1/-1}.public-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-layout,.package-detail-layout{gap:22px}.footer-main{gap:24px}}
@media(min-width:1000px){.public-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:999px){.public-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.header .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:10px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 25px #123e3812;flex-direction:column;align-items:stretch;gap:0}.header .nav.open{display:flex}.header .nav a{padding:13px 4px;border-bottom:1px solid #e8eeeb}.menu-toggle{display:block;min-width:42px;min-height:42px}}
@media(max-width:760px){.announcement{justify-content:center;flex-wrap:wrap;padding:8px 14px;text-align:center}.announcement a{display:none}.header{min-height:70px;padding-inline:16px}.header .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:10px 18px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 25px #123e3812;flex-direction:column;align-items:stretch;gap:0}.header .nav.open{display:flex}.header .nav a{padding:13px 4px;border-bottom:1px solid #e8eeeb}.menu-toggle{display:block;min-width:42px;min-height:42px}.section-head{gap:14px}.section-head>.text-link{white-space:normal}.destination-grid{gap:12px}.destination-card,.destination-card:first-child{min-height:clamp(190px,38vw,280px)}.trip-grid,.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trip-photo{aspect-ratio:1.25}.public-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-layout,.package-detail-layout{width:calc(100% - 32px)}.tour-layout,.package-detail-layout{grid-template-columns:minmax(0,1fr)}.booking-card,.package-summary-card{position:static;grid-row:auto;margin:18px 0}.package-detail-main{grid-row:auto}.package-inclusions{gap:12px}.admin-layout{grid-template-columns:minmax(0,1fr)}.admin-side{position:sticky;top:0;z-index:15;flex-wrap:nowrap;scrollbar-width:thin}.admin-tab{flex:0 0 auto}.admin-main{padding:clamp(16px,4vw,26px)}.admin-actions{align-items:stretch}.admin-actions>.btn{width:100%}.taytay-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.taytay-card-cover{height:clamp(165px,36vw,220px)}}
@media(max-width:540px){.container,.hero-inner{width:calc(100% - 30px)}.section{padding-block:52px}.section-head h2,.section-title{font-size:clamp(30px,9vw,40px)}.hero{min-height:560px}.hero-inner{padding-block:76px 68px}.hero h1{font-size:clamp(52px,14vw,76px)}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.trust-strip{justify-content:center}.destination-grid{grid-template-columns:1fr 1fr}.destination-card:first-child{grid-column:1/-1;min-height:240px}.destination-card:not(:first-child){min-height:170px}.destination-info h3{font-size:18px}.trip-grid,.market-grid{grid-template-columns:minmax(0,1fr)}.trip-photo{aspect-ratio:1.48}.trip-content{padding:16px}.trip-bottom{gap:8px}.trip-price{max-width:58%;text-align:right}.public-review-grid{grid-template-columns:minmax(0,1fr);width:min(100%,460px)}.public-review-card{padding:18px}.feature-band{grid-template-columns:minmax(0,1fr)}.feature-photo{min-height:250px}.review-tease{gap:10px}.tour-hero{min-height:310px}.tour-hero-content{width:calc(100% - 30px)}.tour-hero h1{font-size:clamp(36px,11vw,48px)}.tour-layout,.package-detail-layout{width:calc(100% - 26px)}.package-inclusions{grid-template-columns:minmax(0,1fr)}.booking-card,.package-summary-card{padding:17px}.guest-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-gallery{width:calc(100% - 26px)}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div{min-width:0;overflow-wrap:anywhere}.admin-top{align-items:flex-start}.admin-main{padding:16px 12px}.admin-card{padding:14px}.field-grid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}.admin-row{grid-template-columns:44px minmax(0,1fr)}.admin-row .hotel-row-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.taytay-container{width:calc(100% - 24px)}.taytay-card-grid,.taytay-hotline-grid{grid-template-columns:minmax(0,1fr)}.taytay-card-cover{height:210px}.taytay-hero{min-height:355px}.taytay-map{height:260px}.review-platform-links .btn{min-width:0}}
@media(max-width:370px){.announcement{font-size:8px}.brand img{width:125px}.header-cta{padding:9px 10px;font-size:8px}.hero h1{font-size:49px}.destination-grid{gap:8px}.destination-card:not(:first-child){min-height:148px}.trip-bottom{align-items:flex-start;flex-direction:column}.trip-price{max-width:100%;text-align:left}.public-review-grid{grid-template-columns:minmax(0,1fr)}.guest-count-grid{grid-template-columns:1fr 1fr}.guest-count-grid label:last-child{grid-column:1/-1}.booking-date-range{gap:4px}.footer-main{grid-template-columns:minmax(0,1fr)}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:no-preference){.trip-card,.destination-card,.taytay-info-card,.public-review-card{transition:transform .22s ease,box-shadow .22s ease}.trip-card:hover,.destination-card:hover,.taytay-info-card:hover,.public-review-card:hover{transform:translateY(-3px)}}
.public-review-grid{columns:initial}
@media(max-width:760px){.tour-layout .booking-card,.package-detail-layout .package-summary-card{grid-row:1}.tour-layout .tour-main,.package-detail-layout .package-detail-main{grid-row:2}}
.taytay-day-tours{position:relative;margin:12px 0 34px;padding:clamp(18px,3vw,30px);overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 95% 0,#cdeee4 0,transparent 35%),linear-gradient(135deg,#f0f8f4,#fff 72%)}.taytay-day-tours .section-head{margin-bottom:20px}.taytay-day-tours .section-head h2{font-size:clamp(28px,4vw,40px)}.taytay-day-tour-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.taytay-day-tour-grid .trip-card{height:100%;border-color:#d8e7e1}.taytay-day-tour-grid .trip-photo{aspect-ratio:1.5}.admin-tour-type{color:#148a80;font-size:8px;font-weight:800;letter-spacing:.1em}.package-hotels-editor[hidden]{display:none!important}
@media(max-width:650px){.taytay-day-tours{margin-block:4px 24px;padding:16px 12px;border-radius:14px}.taytay-day-tour-grid{grid-template-columns:minmax(0,1fr)}.taytay-day-tour-grid .trip-photo{aspect-ratio:1.55}}
.taytay-tourism-maps{margin-top:28px;padding:clamp(18px,3vw,30px);border:1px solid #d7e8e0;border-radius:18px;background:linear-gradient(135deg,#f3f8f5,#fff)}.taytay-tourism-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,26px);align-items:start}.taytay-tourism-map-card{min-width:0;margin:0;overflow:hidden;border:1px solid #dbe8e2;border-radius:14px;background:#e4f4f1;box-shadow:0 12px 30px #123e3810}.taytay-tourism-map-card a{display:grid;min-height:260px;place-items:center;padding:10px}.taytay-tourism-map-card img{width:100%;height:auto;max-height:min(72vh,780px);object-fit:contain;border-radius:8px;transition:transform .25s ease}.taytay-tourism-map-card a:hover img{transform:scale(1.012)}.taytay-tourism-map-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#fff;color:#173c40;font-size:13px}.taytay-tourism-map-card figcaption span,.taytay-map-credit{color:#698079;font-size:11px}.taytay-map-credit{margin:13px 0 0;text-align:right}.taytay-map-credit b{color:#167f74}
.itinerary-standard-note{display:block;padding:9px 11px;border:1px solid #dce7e1;border-radius:8px;background:#f2f7f4;color:#28665d;font-size:11px;font-weight:700}
@media(max-width:650px){.taytay-tourism-maps{padding:16px 12px;border-radius:14px}.taytay-tourism-map-grid{grid-template-columns:minmax(0,1fr);gap:14px}.taytay-tourism-map-card a{min-height:0;padding:7px}.taytay-tourism-map-card img{max-height:none}.taytay-tourism-map-card figcaption{align-items:flex-start;flex-direction:column;gap:5px;padding:12px}.taytay-map-credit{text-align:left}}
.taytay-hero-copy{width:min(1400px,100%);max-width:none}.taytay-hero .taytay-hero-title{display:grid;width:max-content;max-width:100%;gap:.06em;overflow-wrap:normal;font-size:clamp(60px,10vw,142px)!important;line-height:.9!important;letter-spacing:-.075em!important}.taytay-hero-intro{font-size:.38em;line-height:1.05;letter-spacing:-.045em}.taytay-hero-destination{font-size:1em;line-height:.92;white-space:nowrap}
@media(max-width:760px){.taytay-hero-title{font-size:clamp(48px,10vw,76px)!important}.taytay-hero-destination{white-space:normal}}
@media(max-width:540px){.taytay-hero{padding-inline:18px}.taytay-hero-title{font-size:clamp(40px,12vw,60px)!important;gap:5px}.taytay-hero-intro{font-size:.42em}.taytay-hero-destination{max-width:100%;line-height:.98}}

/* Flow two columns of guest reviews so short cards do not leave blank row gaps. */
.public-review-grid{display:block;columns:2;column-gap:clamp(14px,1.6vw,22px);column-fill:balance;width:min(100%,1160px);margin-inline:auto}
.public-review-card{display:inline-flex;flex-direction:column;vertical-align:top;width:100%;height:auto;max-width:100%;margin:0 0 clamp(14px,1.6vw,22px);break-inside:avoid;page-break-inside:avoid}
@media(max-width:680px){.public-review-grid{columns:1;width:min(100%,520px)}.public-review-card{padding:clamp(16px,4vw,22px)}}
/* Show the package card stroke only while it is hovered or keyboard-focused. */
.reference-trip-card{border:1px solid transparent;box-shadow:none}
.reference-trip-card:hover,.reference-trip-card:focus-within{border-color:#35b8e8;box-shadow:0 0 0 3px #35b8e833,0 8px 24px #1684b326;transform:none}
.reference-trip-card{position:relative;border-radius:22px;background:#fff;box-shadow:0 8px 24px #18516c0d;transition:border-color .2s,box-shadow .2s}
.reference-trip-photo{aspect-ratio:1.28;border-radius:21px 21px 0 0;background:#eaf5fb}
.reference-trip-photo img{object-fit:cover}
.reference-trip-content{min-height:172px;padding:17px 19px 18px}
.reference-trip-content h3{font-size:16px;line-height:1.35;color:#124e72}
.reference-trip-place{align-items:flex-start;color:#71818e;font-size:11px}
.reference-trip-place span{flex:0 0 auto;color:#5d7480}
.reference-rating{position:absolute;top:13px;right:13px;padding:5px 9px;border-radius:20px;background:#fffffff2;color:#f2a51c;font-size:12px;letter-spacing:1px;box-shadow:0 2px 9px #14354a20}
.reference-months{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.reference-months span{padding:4px 9px;border-radius:20px;background:#e4f4ff;color:#1674a8;font-size:10px;line-height:1.2}
.reference-trip-bottom{padding-top:13px;border-color:#d9e8f1}
.reference-price{font-size:22px;line-height:1.15;color:#155878}
.reference-sale{color:#d84c43}
.reference-trip-bottom s{margin-left:4px;font-size:10px}
.reference-view{padding:9px 13px;border-radius:24px;background:#258fc0;font-size:10px}
.reference-view:focus-visible{outline:3px solid #75cef1;outline-offset:2px}
@media(max-width:650px){.reference-trip-photo{aspect-ratio:1.3}.reference-trip-content{min-height:160px;padding:15px 16px 16px}.reference-price{font-size:20px}.reference-rating{top:10px;right:10px}}
/* Smooth lift and soft outer glow for package cards. */
.reference-trip-card{border-color:transparent;box-shadow:none;transform:translateY(0) scale(1);transform-origin:center;transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s ease,box-shadow .38s ease;will-change:transform}
@media(hover:hover){.reference-trip-card:hover{border-color:#55bce8;box-shadow:0 0 16px 3px #42b9ec45,0 12px 28px #1674a829;transform:translateY(-5px) scale(1.015);z-index:2}}
.reference-trip-card:focus-within{border-color:#55bce8;box-shadow:0 0 14px 2px #42b9ec3b,0 9px 22px #1674a820;transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){.reference-trip-card{transition:none;will-change:auto}.reference-trip-card:hover,.reference-trip-card:focus-within{transform:none}}
.marketplace-header-editor{padding:0;overflow:hidden}
.marketplace-header-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;list-style:none}
.marketplace-header-editor>summary::-webkit-details-marker{display:none}
.marketplace-header-editor>summary>span:first-child{display:grid;gap:6px}
.marketplace-header-editor>summary b{color:var(--ink);font-size:15px}
.marketplace-header-editor>summary small{color:var(--muted);font-size:11px;line-height:1.5}
.marketplace-header-editor>summary:focus-visible{outline:3px solid #39bda9;outline-offset:-3px;border-radius:8px}
.marketplace-header-chevron{flex:0 0 auto;color:#0d9288;font-size:24px;line-height:1;transition:transform .2s ease}
.marketplace-header-editor[open]>summary>.marketplace-header-chevron{transform:rotate(180deg)}
.marketplace-header-editor[open]>summary{border-bottom:1px solid var(--line)}
.marketplace-header-editor form{padding:0 22px 20px}
@media(max-width:650px){.marketplace-header-editor>summary{padding:17px}.marketplace-header-editor form{padding:0 17px 17px}}
/* Centered search banner for the Palawan tour package collection. */
.marketplace-hero{position:relative;isolation:isolate;display:grid;min-height:296px;place-items:center;overflow:hidden;padding:38px 22px 42px;background:radial-gradient(ellipse at 83% 18%,#176b94 0,transparent 48%),linear-gradient(115deg,#0b2d4c 0%,#0c4770 58%,#1478a7 100%);color:#fff;text-align:center}
.marketplace-hero:before{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#081f37aa,transparent 58%),radial-gradient(circle at 22% 80%,#2c91bb33,transparent 32%);content:""}
.marketplace-hero-inner{width:min(100%,680px)}
.marketplace-hero-kicker{margin:0 0 12px;color:#a7d9ec;font-size:10px;font-weight:800;letter-spacing:.2em}
.marketplace-hero h1{margin:0;color:#fff;font:750 clamp(30px,4.2vw,42px)/1.1 var(--display);letter-spacing:-.055em}
.marketplace-hero-inner>p:not(.marketplace-hero-kicker){margin:10px 0 27px;color:#c4e2f0;font-size:14px;font-weight:600}
.marketplace-hero .marketplace-search{width:100%;height:55px;margin-inline:auto;padding:0 20px;border:1px solid #b4dcf078;border-radius:18px;background:#ffffff20;backdrop-filter:blur(8px);text-align:left}
.marketplace-search>span{color:#d2eaf5;font-size:20px}
.marketplace-search input{padding:15px 0;background:transparent;color:#fff;font-size:14px}
.marketplace-search input::placeholder{color:#d0e4efb8}
.marketplace-search input:focus{outline:none}
.marketplace-spark{position:absolute;color:#c1e3f2a8;font-size:13px;pointer-events:none}
.marketplace-spark--one{top:18%;left:13%}.marketplace-spark--two{right:17%;bottom:18%;font-size:11px}
.marketplace-listing{padding-top:42px}
.marketplace-listing .market-controls{justify-content:flex-end}
@media(max-width:600px){.marketplace-hero{min-height:270px;padding:36px 18px}.marketplace-hero h1{font-size:clamp(30px,9vw,40px)}.marketplace-hero-inner>p:not(.marketplace-hero-kicker){font-size:12px;line-height:1.6}.marketplace-hero .marketplace-search{height:52px;border-radius:15px;padding-inline:15px}.marketplace-listing{padding-top:30px}}

/* TravelMe brand palette: navy and teal from the supplied logo. */
:root{--ink:#142f43;--deep:#122e45;--teal:#1db7a6;--mint:#c9f0e8;--muted:#6d818b;--line:#dfe8e8}
.header-cta,.btn{color:#102d40}
.header-cta:hover,.btn:hover{background:#38c8b6}
.marketplace-hero{background:radial-gradient(ellipse at 83% 18%,#168c7e 0,transparent 48%),linear-gradient(115deg,#102b43 0%,#123e55 58%,#117c73 100%)}
.marketplace-hero:before{background:linear-gradient(90deg,#081f37aa,transparent 58%),radial-gradient(circle at 22% 80%,#2cb8a633,transparent 32%)}
.marketplace-hero-kicker{color:#87e6d8}
.marketplace-search{border-color:#a8e7dc80!important}
.reference-trip-place span{color:#178f83}
.reference-months span{background:#e4f6f2;color:#167d74}
.reference-view{background:#168f83}
.reference-view:hover{background:#0e756d}
@media(hover:hover){.reference-trip-card:hover{border-color:#42bdb0;box-shadow:0 0 16px 3px #20b5a637,0 12px 28px #123c4930}}
.reference-trip-card:focus-within{border-color:#42bdb0;box-shadow:0 0 14px 2px #20b5a62f,0 9px 22px #123c4926}

/* Carry the TravelMe navy and teal palette through the footer. */
.footer{background:#102b43;color:#f5f7f4}
.footer-main p,.footer-main>div>a:not(.brand){color:#c1d0d7}
.footer-main b{color:#43c8b7}
.footer-main>div>a:hover{color:#68dfcf}
.footer-note{border-left-color:#26b6a766}
.route-symbol{color:#2bc1ae}
.footer-bottom{border-top-color:#3d647266;color:#afc1ca}

/* Match the page header and footer to the navy-to-teal banner gradient. */
:root{--travelme-brand-gradient:linear-gradient(108deg,#102b43 0%,#0e3c51 42%,#0d766f 76%,#108b79 100%)}
.marketplace-hero,.footer,.header{background:var(--travelme-brand-gradient)}
.marketplace-hero:before{background:none}
.header{border-bottom-color:#ffffff28}
.header .brand img{filter:brightness(0) saturate(100%) invert(94%) sepia(8%) saturate(390%) hue-rotate(344deg) brightness(102%) contrast(92%)}
.header .nav a{color:#d9ebe8}
.header .nav a:hover,.header .nav a.active{color:#fff}
.header .header-cta{background:#20b7a6;color:#102d40;border:1px solid #a6eee4}
.header .header-cta:hover{background:#48d0be}
.header .menu-toggle{color:#f3f4ed}
.footer{background:var(--travelme-brand-gradient)}
.footer-main b{color:#70dfd1}
.footer-main p,.footer-main>div>a:not(.brand){color:#d0dfdf}
.footer-main>div>a:hover{color:#fff}
.footer-note{border-left-color:#8ce5d566}
.footer-bottom{border-top-color:#ffffff36;color:#c4d5d6}
@media(max-width:650px){.header .nav{background:var(--travelme-brand-gradient);border-bottom-color:#ffffff35}.header .nav a{color:#e7f2ef}}

/* Carry the branded gradient into destination, review, and contact page headers. */
.page-hero,.page-hero.reviews-hero{background:var(--travelme-brand-gradient);color:#f7fbf8}
.page-hero .eyebrow{color:#79dfd1}
.page-hero h1{color:#f7fbf8}
.page-hero p:not(.eyebrow){color:#d6e9e8}
.taytay-hero-shade{background:linear-gradient(108deg,#102b43ec 0%,#0e3c51d9 42%,#0d766fc7 76%,#108b79b8 100%)}
.taytay-hero-copy .eyebrow{color:#79dfd1}

/* Center the title and supporting copy like the Tour Packages banner. */
.page-hero .container{flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
.page-hero .container>div{display:flex;flex-direction:column;align-items:center}
.page-hero h1{max-width:900px}
.page-hero p:not(.eyebrow){max-width:720px;margin:0 auto;text-align:center}
.taytay-hero-copy{margin-inline:auto;text-align:center}
.taytay-hero-copy>.eyebrow{margin-inline:auto}
.taytay-hero h1{max-width:1000px;margin-inline:auto}
.taytay-hero-copy>p:not(.eyebrow){margin-inline:auto}
.taytay-hero-copy>.btn{margin-top:8px}


/* Slightly tighten the Taytay hero title for a more balanced fit. */
.taytay-hero .taytay-hero-title{font-size:clamp(56px,9.2vw,132px)!important}
@media(max-width:760px){.taytay-hero .taytay-hero-title{font-size:clamp(46px,9.4vw,70px)!important}}
@media(max-width:540px){.taytay-hero .taytay-hero-title{font-size:clamp(38px,10.8vw,54px)!important}}


/* Match the Tour Packages hover treatment on every Reviews and Taytay content card. */
#app .destination-card,#app .public-review-grid .public-review-card,#app .taytay-container .taytay-info-card,#app .taytay-container .taytay-hotline,#app .taytay-container .taytay-hotline-card,#app .taytay-container .taytay-tourism-map-card,#app .taytay-container .trip-card{position:relative;z-index:0;transform:translateY(0) scale(1);transform-origin:center;box-shadow:0 0 0 1px transparent;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .38s ease;will-change:transform}
@media(hover:hover){#app .destination-card:hover,#app .public-review-grid .public-review-card:hover,#app .taytay-container .taytay-info-card:hover,#app .taytay-container .taytay-hotline:hover,#app .taytay-container .taytay-hotline-card:hover,#app .taytay-container .taytay-tourism-map-card:hover,#app .taytay-container .trip-card:hover{z-index:2;transform:translateY(-5px) scale(1.015);box-shadow:0 0 0 1px #42bdb0,0 0 16px 3px #20b5a637,0 12px 28px #123c4930}}
#app .destination-card:focus-within,#app .public-review-grid .public-review-card:focus-within,#app .taytay-container .taytay-info-card:focus-within,#app .taytay-container .taytay-hotline:focus-within,#app .taytay-container .taytay-hotline-card:focus-within,#app .taytay-container .taytay-tourism-map-card:focus-within,#app .taytay-container .trip-card:focus-within{z-index:2;transform:translateY(-3px) scale(1.01);box-shadow:0 0 0 1px #42bdb0,0 0 14px 2px #20b5a62f,0 9px 22px #123c4926}
#app .public-review-grid .public-review-card:hover,#app .public-review-grid .public-review-card:focus-within{box-shadow:0 0 16px 3px #20b5a637,0 12px 28px #123c4930}
@media(prefers-reduced-motion:reduce){#app .destination-card,#app .public-review-grid .public-review-card,#app .taytay-container .taytay-info-card,#app .taytay-container .taytay-hotline,#app .taytay-container .taytay-hotline-card,#app .taytay-container .taytay-tourism-map-card,#app .taytay-container .trip-card{transition:none;will-change:auto}#app .destination-card:hover,#app .public-review-grid .public-review-card:hover,#app .taytay-container .taytay-info-card:hover,#app .taytay-container .taytay-hotline:hover,#app .taytay-container .taytay-hotline-card:hover,#app .taytay-container .taytay-tourism-map-card:hover,#app .taytay-container .trip-card:hover,#app .destination-card:focus-within,#app .public-review-grid .public-review-card:focus-within,#app .taytay-container .taytay-info-card:focus-within,#app .taytay-container .taytay-hotline:focus-within,#app .taytay-container .taytay-hotline-card:focus-within,#app .taytay-container .taytay-tourism-map-card:focus-within,#app .taytay-container .trip-card:focus-within{transform:none}}
#app .marketplace-hero .marketplace-search{transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .3s ease,box-shadow .38s ease}
@media(hover:hover){#app .marketplace-hero .marketplace-search:hover{transform:translateY(-3px) scale(1.01);border-color:#a8e7dc!important;box-shadow:0 0 16px 3px #20b5a637,0 12px 28px #071f3730}}
#app .marketplace-hero .marketplace-search:focus-within{transform:translateY(-2px) scale(1.005);border-color:#c7fff1!important;box-shadow:0 0 0 1px #8de7d9,0 0 18px 4px #20b5a64a,0 12px 28px #071f3730}
@media(prefers-reduced-motion:reduce){#app .marketplace-hero .marketplace-search{transition:none}#app .marketplace-hero .marketplace-search:hover,#app .marketplace-hero .marketplace-search:focus-within{transform:none}}
.review-admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center;margin:14px 0 6px}
.review-admin-search>span{grid-column:1/-1;color:#47635e;font-size:11px;font-weight:700}
.review-admin-search input{width:100%;min-width:0;padding:12px 14px;border:1px solid #dce8e2;border-radius:9px;background:#fff;color:var(--deep);font-size:12px;transition:border-color .2s,box-shadow .25s}
.review-admin-search input:focus{outline:0;border-color:#1b9888;box-shadow:0 0 0 3px #20b5a626}
.review-admin-search small{color:#71817c;font-size:10px;white-space:nowrap}
.review-admin-no-results{margin:12px 0 0}
.admin-review-row[hidden]{display:none!important}
@media(max-width:500px){.review-admin-search{grid-template-columns:minmax(0,1fr)}.review-admin-search>span{grid-column:auto}.review-admin-search small{white-space:normal}}
.package-cover-field{grid-column:1/-1}
.package-cover-upload{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 4px;padding:14px 16px;border:1px dashed #9bcfc3;border-radius:10px;background:#f4faf7;color:#164d49;font-size:12px;font-weight:700;cursor:pointer}
.package-cover-upload span{margin-left:auto;color:#71817c;font-size:10px;font-weight:500}
.package-cover-upload input{max-width:190px;color:#56716a;font-size:10px}
.package-cover-upload-preview{display:flex;flex-wrap:wrap;gap:9px;margin:9px 0}
.package-cover-upload-preview:empty{display:none}
.package-cover-upload-preview img{width:94px;height:68px;border:1px solid #dce8e2;border-radius:8px;object-fit:cover}
@media(max-width:500px){.package-cover-upload{align-items:flex-start;flex-direction:column}.package-cover-upload span{margin-left:0}.package-cover-upload input{max-width:100%}}
.reviews-hero .container{align-items:center;flex-direction:column;gap:12px;text-align:center}
.reviews-hero h1{max-width:none;font-size:clamp(38px,6vw,66px);line-height:1.04;letter-spacing:-.065em;text-wrap:balance}
.reviews-hero p:not(.eyebrow){max-width:min(780px,100%);margin:0 auto}
@media(max-width:650px){.reviews-hero h1{font-size:clamp(34px,9vw,48px);letter-spacing:-.06em}}

/* Final small-screen fit: keep every section inside the viewport and easy to tap. */
html,body{max-width:100%;overflow-x:clip}
body,#app{min-width:0;width:100%}
img,video,iframe{max-width:100%}
#app :is(section,article,aside,form,fieldset,.container,.admin-card,.admin-main,.admin-layout,.field-grid){min-width:0}
input,select,textarea,button{max-width:100%;min-width:0}
@media(max-width:760px){
  .container,.hero-inner,.tour-hero-content,.taytay-container{width:calc(100% - 32px)}
  .section-head{align-items:flex-start;flex-direction:column;gap:10px}
  .hero h1{font-size:clamp(40px,11vw,72px);overflow-wrap:anywhere}
  .page-hero{padding:clamp(42px,8vw,58px) 0 clamp(36px,7vw,48px)}
  .page-hero h1{font-size:clamp(34px,7.5vw,58px);line-height:1.04;overflow-wrap:anywhere}
  .page-hero p:not(.eyebrow){font-size:clamp(12px,2.4vw,14px)}
  .marketplace-hero{min-height:0;padding:clamp(34px,7vw,54px) 18px}
  .marketplace-hero h1{font-size:clamp(28px,6vw,40px);overflow-wrap:anywhere}
  .marketplace-hero-inner>p:not(.marketplace-hero-kicker){margin-bottom:20px}
  .market-controls{align-items:stretch;flex-wrap:wrap}
  .search-box,.market-controls select{width:100%;max-width:100%}
  .tour-hero{min-height:clamp(270px,58vw,390px)}
  .tour-hero h1{font-size:clamp(34px,8vw,58px);line-height:1.04;overflow-wrap:anywhere}
  .tour-layout,.package-detail-layout{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:12px}
  .tour-main,.package-detail-main,.package-configurator,.package-itinerary,.package-inclusions,.booking-card,.package-summary-card{width:100%;max-width:100%;min-width:0}
  .booking-card,.package-summary-card{position:static;padding:clamp(16px,4vw,22px)}
  .package-inclusions{grid-template-columns:minmax(0,1fr)}
  .package-selected-details>div{grid-template-columns:minmax(68px,30%) minmax(0,1fr);overflow-wrap:anywhere}
  .package-total-breakdown{grid-template-columns:minmax(0,1fr) auto}
  .package-total-breakdown b{max-width:min(46vw,150px);overflow-wrap:anywhere}
  .booking-date-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
  .booking-date-range input,.booking-fields input,.booking-fields select,.package-configurator select,.package-configurator input{width:100%;min-width:0}
  .tm-gallery,.package-room-gallery{width:100%;max-width:100%}
  .tm-gallery:has(+ .package-detail-layout){width:calc(100% - 32px)}
  .tm-gallery img,.package-room-gallery img{max-width:100%;object-fit:cover}
  .itinerary-day{grid-template-columns:42px minmax(0,1fr);gap:10px}
  .itinerary-day img{width:100%;height:auto;max-height:300px;object-fit:cover}
  .guest-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .guest-count-grid label{min-width:0;font-size:9px}
  .guest-count-grid input{padding-inline:8px}
  .public-review-grid{display:grid;columns:initial;grid-template-columns:minmax(0,1fr);width:100%;max-width:560px;gap:12px}
  .public-review-card{display:flex;width:100%;max-width:100%;margin:0;padding:clamp(15px,4vw,20px)}
  .review-filter-bar{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .taytay-hero{min-height:clamp(340px,82vw,520px);padding:48px 16px}
  .taytay-hero-copy{width:100%;max-width:100%;min-width:0}
  .taytay-hero h1,.taytay-hero-title{max-width:100%;font-size:clamp(36px,10vw,68px)!important;line-height:1.02!important;overflow-wrap:anywhere;white-space:normal}
  .taytay-hero-destination{white-space:normal}
  .taytay-card-grid,.taytay-hotline-grid,.taytay-tourism-map-grid{grid-template-columns:minmax(0,1fr)}
  .taytay-info-card,.taytay-hotline-card,.taytay-tourism-map-card{width:100%;max-width:100%;min-width:0}
  .taytay-card-cover{width:100%;max-width:100%;height:clamp(190px,55vw,280px);object-fit:cover}
  .taytay-map,.taytay-map iframe{width:100%;max-width:100%}
  .review-connect-grid,.admin-layout{grid-template-columns:minmax(0,1fr)}
  .field-grid,.hotel-rates,.season-date-grid{grid-template-columns:minmax(0,1fr)}
  .field,.field.full{grid-column:1/-1;min-width:0}
  .field input,.field select,.field textarea,.admin-card textarea{width:100%;max-width:100%;min-width:0}
  .admin-main{padding:clamp(14px,4vw,22px)}
  .admin-card{padding:clamp(14px,4vw,20px)}
  .admin-review-row{grid-template-columns:minmax(0,1fr);gap:10px}
  .admin-review-identity{min-width:0;overflow-wrap:anywhere}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .footer-main>div{min-width:0;overflow-wrap:anywhere}
  .btn,.header-cta,.btn-outline{min-height:44px;max-width:100%;white-space:normal}
}
@media(max-width:420px){
  .container,.hero-inner,.tour-hero-content,.tour-layout,.package-detail-layout,.taytay-container,.tm-gallery:has(+ .package-detail-layout){width:calc(100% - 24px)}
  .header{padding-inline:12px;gap:8px}
  .brand img{width:min(132px,38vw)}
  .hero h1{font-size:clamp(38px,12vw,52px)}
  .page-hero h1{font-size:clamp(32px,9vw,42px)}
  .reviews-hero h1{font-size:clamp(30px,8.5vw,40px)}
  .section{padding-block:42px}
  .destination-grid{grid-template-columns:minmax(0,1fr)}
  .destination-card:first-child{grid-column:auto}
  .guest-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guest-count-grid label:last-child{grid-column:1/-1}
  .booking-date-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .footer-main{grid-template-columns:minmax(0,1fr)}
  .footer-main>div:first-child{grid-column:auto}
  .admin-tab{padding-inline:9px;font-size:10px}
}
/* Keep tour package cards in two readable columns on phones. */
@media(max-width:540px){
  .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .market-grid .reference-trip-card{min-width:0;border-radius:14px}
  .market-grid .reference-trip-photo{aspect-ratio:1.05;border-radius:13px 13px 0 0}
  .market-grid .reference-trip-content{min-height:0;padding:11px 10px 12px}
  .market-grid .reference-trip-content h3{font-size:clamp(12px,3.5vw,14px);line-height:1.28;overflow-wrap:anywhere}
  .market-grid .reference-trip-place{font-size:9px;line-height:1.35;overflow-wrap:anywhere}
  .market-grid .reference-trip-bottom{align-items:flex-end;flex-wrap:wrap;gap:7px;padding-top:10px}
  .market-grid .reference-from,.market-grid .reference-currency{font-size:8px}
  .market-grid .reference-price{font-size:clamp(15px,4.3vw,19px)}
  .market-grid .reference-trip-bottom s{font-size:8px}
  .market-grid .reference-view{padding:8px 10px;font-size:9px}
  .market-grid .reference-promo-timer{font-size:9px;line-height:1.35}
  .market-grid .package-sale-ribbon--card{top:9px;right:-45px;width:132px;padding:7px 8px;font-size:8px}
}
#app>.tour-hero{display:none!important}
/* Editable company profile on the Contact Us page */
.contact-company-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(18px,3vw,34px);align-items:start}
.contact-company-card,.contact-inquiry-card{min-width:0;padding:clamp(22px,3vw,34px);border:1px solid #d5e4df;border-radius:22px;background:#fff;box-shadow:0 16px 38px #113c4910}
.contact-company-card h2,.contact-inquiry-card h2{font-size:clamp(25px,3vw,34px);line-height:1.13;margin:0 0 14px;color:#102f38;overflow-wrap:anywhere}
.contact-company-card>p:not(.eyebrow),.contact-inquiry-card>p:not(.eyebrow){color:#5f777b;font-size:14px;line-height:1.75}
.contact-company-facts{display:grid;gap:0;margin:22px 0;border-top:1px solid #dfebe7}
.contact-company-facts p{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr);gap:12px;margin:0;padding:12px 0;border-bottom:1px solid #dfebe7;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.contact-company-facts b{color:#45646a}
.contact-company-facts span,.contact-company-facts a{color:#143a44}
.contact-company-facts a{font-weight:600;text-decoration:none}
.contact-company-facts a:hover{text-decoration:underline}
.contact-company-card h3{font-size:18px;margin:22px 0 10px;color:#143a44}
.contact-services{display:grid;gap:9px;margin:0;padding-left:20px;color:#5f777b;font-size:13px;line-height:1.6}
.contact-inquiry-card{display:grid;gap:12px}
.contact-inquiry-card .admin-actions{margin-top:0}
@media(max-width:760px){.contact-company-layout{grid-template-columns:minmax(0,1fr)}.contact-company-card,.contact-inquiry-card{padding:20px;border-radius:17px}}
@media(max-width:420px){.contact-company-facts p{grid-template-columns:1fr;gap:3px}.contact-company-facts b{font-size:11px;text-transform:uppercase;letter-spacing:.07em}}

/* Review rating overview */
.review-rating-summary{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2.3fr);gap:12px;margin:0 0 22px}
.review-rating-overall,.review-rating-source{min-width:0;padding:18px;border:1px solid #dce8e2;border-radius:14px;background:#fff}
.review-rating-overall .eyebrow{margin-bottom:8px}
.review-rating-overall>strong{display:block;color:#143a44;font:700 34px/1 var(--display);letter-spacing:-.04em}
.review-rating-overall>strong small{color:#82938c;font:500 14px var(--sans);letter-spacing:0}
.review-rating-stars{display:block;margin-top:7px;color:#eda52c;font-size:14px;line-height:1;letter-spacing:.12em;white-space:nowrap}
.review-rating-overall>p:last-child{margin:7px 0 0;color:#71817c;font-size:11px}
.review-rating-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:10px}
.review-rating-source{display:grid;grid-template-columns:20px minmax(0,1fr);align-content:start;align-items:center;column-gap:7px;row-gap:5px;padding:15px}
.review-rating-source .review-source-icon{width:18px;height:18px;flex-basis:18px;margin:0}
.review-rating-source>b{overflow:hidden;color:#385a56;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.review-rating-source>strong{grid-column:1/-1;color:#173e44;font:700 19px/1.2 var(--display)}
.review-rating-source>strong span{color:#84938e;font:400 10px var(--sans)}
.review-rating-source .review-rating-stars{grid-column:1/-1;margin-top:0;font-size:12px}
.review-rating-source>small{grid-column:1/-1;color:#71817c;font-size:10px}
.public-review-top .review-stars{font-size:17px}
@media(max-width:700px){.review-rating-summary{grid-template-columns:minmax(0,1fr)}.review-rating-sources{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.review-rating-overall{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.review-rating-overall .eyebrow{grid-column:1/-1}.review-rating-overall>strong{grid-column:1;grid-row:2}.review-rating-overall .review-rating-stars{grid-column:2;grid-row:2;margin:0}.review-rating-overall>p:last-child{grid-column:1/-1}}
@media(max-width:520px){.public-review-top .review-stars{font-size:16px}.review-rating-source{padding:13px}}

/* Footer social media links */
.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-left:1px solid #ffffff35;padding-left:22px}
.footer-social>b{margin:0 0 4px;color:#e0f1eb;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.footer-social>a{display:inline-flex;align-items:center;gap:9px;color:#c5d9d4;font-size:11px;transition:color .18s,transform .18s}
.footer-social>a:hover{color:#fff;transform:translateX(2px)}
.footer-social>a>span:last-child{margin-left:auto;color:#77d8ca}
.footer-social-icon{display:grid;width:21px;height:21px;flex:0 0 21px;place-items:center;border:1px solid #ffffff3b;border-radius:50%;color:#e4f4ef}
.footer-social-icon svg{width:13px;height:13px}
@media(max-width:540px){.footer-social{border-left:0;padding-left:0}}

/* Compact mobile footer layout */
@media(max-width:650px){.footer{padding:34px 18px 14px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding-bottom:22px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:first-child p{margin:8px 0 0;font-size:10px;line-height:1.5}.footer-main>div:not(:first-child){gap:8px}.footer-main b,.footer-social>b{margin-bottom:2px;font-size:9px}.footer-main>div>a:not(.brand),.footer-social>a{font-size:10px}.footer-social{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;border:0;padding:0}.footer-social>b{grid-column:1/-1}.footer-social>a{min-width:0;gap:7px}.footer-social-icon{width:19px;height:19px;flex-basis:19px}.footer-social-icon svg{width:12px;height:12px}.footer-bottom{flex-direction:column;align-items:center;gap:5px;padding-top:12px;text-align:center;font-size:8px}}
@media(max-width:370px){.footer{padding-inline:14px}.footer-main{gap:15px 10px}.footer-social{gap:7px 9px}.footer-social>a{font-size:9px}}

@media(max-width:650px){.footer-main>.footer-social{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px}.footer-main>.footer-social>b{grid-column:1/-1}.footer-main>.footer-social>a{flex-direction:column;justify-content:flex-start;gap:5px;text-align:center;font-size:8px;line-height:1.2}.footer-main>.footer-social .footer-social-icon{width:30px;height:30px;flex-basis:30px}.footer-main>.footer-social .footer-social-icon svg{width:15px;height:15px}.footer-main>.footer-social>a>span:last-child{display:none}}
@media(max-width:370px){.footer-main>.footer-social>a{font-size:7px}.footer-main>.footer-social .footer-social-icon{width:27px;height:27px;flex-basis:27px}}

/* Force the mobile social links into one horizontal row */
@media(max-width:650px){.footer .footer-main>.footer-social{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 4px}.footer .footer-main>.footer-social>b{flex:0 0 100%;width:100%;grid-column:auto}.footer .footer-main>.footer-social>a{display:flex;flex:1 1 0;min-width:0;flex-direction:column!important;align-items:center;justify-content:flex-start;gap:5px;text-align:center;font-size:8px;line-height:1.15}.footer .footer-main>.footer-social .footer-social-icon{width:30px;height:30px;flex:0 0 30px}.footer .footer-main>.footer-social .footer-social-icon svg{width:15px;height:15px}.footer .footer-main>.footer-social>a>span:last-child{display:none}}
@media(max-width:370px){.footer .footer-main>.footer-social>a{font-size:7px}.footer .footer-main>.footer-social .footer-social-icon{width:27px;height:27px;flex-basis:27px}}

/* Footer outbound arrows were removed; keep the remaining social SVG icon visible. */
.footer .footer-main>.footer-social>a>span.footer-social-icon:last-child{display:grid!important;place-items:center;margin:0!important;color:#e4f4ef!important}
.footer .footer-main>.footer-social>a>span.footer-social-icon:last-child svg{display:block!important;width:17px;height:17px;visibility:visible;opacity:1}
@media(max-width:650px){
  .footer .footer-main>.footer-social>a>span.footer-social-icon:last-child{width:32px;height:32px;flex:0 0 32px}
  .footer .footer-main>.footer-social>a>span.footer-social-icon:last-child svg{width:19px;height:19px}
}
@media(max-width:370px){
  .footer .footer-main>.footer-social>a>span.footer-social-icon:last-child{width:29px;height:29px;flex-basis:29px}
  .footer .footer-main>.footer-social>a>span.footer-social-icon:last-child svg{width:17px;height:17px}
}

.reviews-browse-button{display:flex;justify-content:center;margin:34px auto 0}
.reviews-browse-button .btn{min-width:190px}
@media(max-width:540px){.reviews-browse-button{margin-top:24px}.reviews-browse-button .btn{width:100%;max-width:320px}}

.reviews-browse-button .btn{animation:reviews-button-bounce 1.5s cubic-bezier(.28,.84,.42,1) infinite;box-shadow:0 7px 20px #19b7a635}
.reviews-browse-button .btn:hover,.reviews-browse-button .btn:focus-visible{animation-play-state:paused;transform:translateY(-2px);box-shadow:0 9px 26px #19b7a655}
@keyframes reviews-button-bounce{0%,100%{transform:translateY(0);box-shadow:0 6px 17px #19b7a62b}35%{transform:translateY(-9px);box-shadow:0 12px 26px #19b7a655}55%{transform:translateY(0);box-shadow:0 5px 15px #19b7a630}75%{transform:translateY(-4px);box-shadow:0 9px 22px #19b7a644}}
@media(prefers-reduced-motion:reduce){.reviews-browse-button .btn{animation:none}}

/* Floating contact options */
.floating-contact {
  position:fixed;
  right:clamp(14px,3vw,34px);
  bottom:calc(24px + env(safe-area-inset-bottom));
  z-index:45;
}
.floating-contact summary {
  display:grid;
  place-items:center;
  margin-left:auto;
  width:56px;
  height:56px;
  list-style:none;
  border-radius:50%;
  background:rgb(255 254 250 / 60%);
  cursor:pointer;
}
.floating-contact summary::-webkit-details-marker { display:none; }
.floating-contact summary:focus-visible { outline:2px solid #08736b; outline-offset:3px; }
.floating-contact summary img { display:block; }
.floating-contact-panel {
  position:absolute;
  right:0;
  bottom:calc(100% + 10px);
  width:max-content;
  max-height:min(330px, calc(100vh - 100px));
  overflow:auto;
  box-sizing:border-box;
  padding:6px;
  border-radius:999px;
  background:rgb(255 254 250 / 60%);
}
.floating-contact-panel .about-contact-links {
  grid-template-columns:1fr;
  gap:4px;
  margin:0;
}
.floating-contact-panel .about-contact-links a {
  width:44px;
  min-height:44px;
  box-sizing:border-box;
  border:0;
  background:transparent;
}
.floating-contact-panel .about-contact-links a:hover { background:transparent; }
.floating-contact-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.floating-contact-panel .about-contact-links img { width:30px; height:30px; }
.floating-contact-panel .about-contact-links img:is([src$="/about-contact-viber.webp"], [src$="/about-contact-whatsapp.webp"], [src$="/about-contact-telegram.webp"]) { width:42px; height:42px; max-width:none; }
.floating-contact summary img,
.floating-contact-panel .about-contact-links img {
  filter:drop-shadow(0 3px 6px #073c4099);
}
@media (prefers-reduced-motion: no-preference) {
  .floating-contact:not([open]) summary {
    animation:travelme-message-bounce 2.8s ease-in-out infinite;
  }
  .floating-contact[open] .about-contact-links img {
    animation:travelme-contact-float 3.2s ease-in-out infinite;
  }
  .floating-contact-panel .about-contact-links a:nth-child(even) img {
    animation-delay:-1.6s;
  }
}
@keyframes travelme-message-bounce {
  0%, 54%, 100% { transform:translateY(0) scale(1); }
  18% { transform:translateY(-9px) scale(1.14); }
  32% { transform:translateY(0) scale(.94); }
  43% { transform:translateY(-4px) scale(1.05); }
}
@keyframes travelme-contact-float {
  0%, 100% { transform:translateY(0); }
  50% { transform:translateY(-3px); }
}

@media(max-width:600px){.taytay-hotline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.taytay-hotline-card{flex-direction:column;gap:8px;padding:12px}.taytay-hotline-icon{width:32px;height:32px;flex-basis:32px;font-size:16px}.taytay-hotline-card h3{overflow-wrap:anywhere}.taytay-hotline-numbers{gap:5px}.taytay-hotline-numbers a{padding:6px 8px;font-size:10px}}
@media(max-width:600px){.taytay-hero{min-height:clamp(360px,105vw,450px);padding:36px 18px}.taytay-hero-copy{width:100%;max-width:100%;margin-inline:auto;text-align:center}.taytay-hero-copy .eyebrow{font-size:9px;line-height:1.5;letter-spacing:.15em}.taytay-hero h1{max-width:100%;margin:8px auto 12px;font-size:clamp(2rem,9.5vw,3.2rem);line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance}.taytay-hero-copy>p:not(.eyebrow){max-width:34ch;margin:0 auto 19px;font-size:clamp(14px,4vw,16px);line-height:1.55}.taytay-hero .btn{max-width:100%;padding:12px 16px;gap:10px;white-space:normal;font-size:11px}}
@media(max-width:600px){.taytay-hero-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center!important}.taytay-hero-copy>*{text-align:center!important}.taytay-hero-copy>p:not(.eyebrow){margin-inline:auto}.taytay-hero .btn{align-self:center}}
.bottom-cta{display:flex;min-height:0;align-items:center;justify-content:center;margin-top:28px;padding:18px 12px!important;overflow:visible;background:transparent!important;text-align:center}
.bottom-cta::after{display:none!important}
.bottom-cta>:not(.btn){display:none!important}
.bottom-cta .btn{position:relative;z-index:1;animation:reviews-button-bounce 1.5s cubic-bezier(.28,.84,.42,1) infinite;box-shadow:0 7px 20px #19b7a635}
.bottom-cta .btn:hover,.bottom-cta .btn:focus-visible{animation-play-state:paused;transform:translateY(-2px);box-shadow:0 9px 26px #19b7a655}
@media(prefers-reduced-motion:reduce){.bottom-cta .btn{animation:none}}
.taytay-card-details{align-self:stretch;margin-top:9px;border-top:1px solid #e4eee9;padding-top:8px}
.taytay-card-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#108c82;font-size:11px;font-weight:700;cursor:pointer;list-style:none}
.taytay-card-details summary::-webkit-details-marker{display:none}
.taytay-details-arrow{display:block;width:12px;height:12px;flex:none}
.taytay-card-details[open] .taytay-details-arrow{transform:rotate(180deg)}
.taytay-card-details-content{padding-top:8px}
.taytay-card-details-content>p{margin:0 0 8px;color:#627772;font-size:11px;line-height:1.65}
.taytay-card-detail-line b{color:#315853}
.taytay-card-details-content .taytay-directions-link{display:inline-flex;margin:2px 0 7px;color:#0b857b;font-size:11px;font-weight:700}
.taytay-card-details-content .taytay-photo-note{display:block;margin-top:4px}
.taytay-card-source-data{display:none!important}
.taytay-admin-listings{display:grid;gap:12px}
.taytay-admin-listing{min-width:0;padding:16px;border:1px solid #dce9e3;border-radius:10px;background:#f8fbf9}
.taytay-admin-listing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--deep);font-size:13px}
.taytay-admin-listing-head .btn-outline{padding:7px 11px;color:#a15348}
.taytay-admin-list-add{justify-self:start;margin-top:2px}
@media(max-width:600px){.taytay-admin-listing{padding:12px}.taytay-card-details summary{min-height:30px}}
.taytay-admin-collapsible{padding:0!important;overflow:hidden}
.taytay-admin-collapse-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;cursor:pointer;list-style:none}
.taytay-admin-collapse-summary::-webkit-details-marker{display:none}
.taytay-admin-collapse-summary h2{margin:0!important;color:var(--deep);font:700 16px var(--display)}
.taytay-admin-collapse-summary::after{content:"+";display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:1px solid #d8e8e1;border-radius:50%;color:#148a80;font-size:18px;line-height:1}
.taytay-admin-collapsible[open]>.taytay-admin-collapse-summary::after{content:"−"}
.taytay-admin-collapse-body{padding:0 19px 19px}
@media(max-width:600px){.taytay-admin-collapse-summary{padding:14px}.taytay-admin-collapse-body{padding:0 14px 14px}}
.taytay-admin-listing{position:relative;padding:0!important;overflow:hidden}
.taytay-admin-listing-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 112px 12px 14px;color:var(--deep);font-size:13px;cursor:pointer;list-style:none}
.taytay-admin-listing-summary::-webkit-details-marker{display:none}
.taytay-admin-listing-summary::after{content:"+";display:grid;width:23px;height:23px;flex:0 0 23px;place-items:center;border:1px solid #d8e8e1;border-radius:50%;color:#148a80;font-size:15px;line-height:1}
.taytay-admin-listing[open]>.taytay-admin-listing-summary::after{content:"−"}
.taytay-admin-listing-remove{position:absolute;top:8px;right:48px;z-index:1;padding:6px 9px!important;color:#a15348}
.taytay-admin-listing-body{padding:0 14px 14px}
@media(max-width:600px){.taytay-admin-listing-summary{padding:11px 98px 11px 12px}.taytay-admin-listing-remove{top:7px;right:41px;padding:6px 7px!important;font-size:9px}.taytay-admin-listing-body{padding:0 12px 12px}}

.review-social-download{border:1px solid #b9dcd4!important;border-radius:999px!important;background:#eef8f4!important;color:#126b67!important;padding:8px 12px!important;font-size:11px!important;font-weight:700!important;white-space:nowrap}.review-social-download:hover{background:#d9f0e9!important;box-shadow:0 5px 16px #137f701c}@media(max-width:650px){.admin-review-row .hotel-row-actions{flex-direction:row!important;flex-wrap:wrap;align-items:center}.review-social-download{padding:7px 10px!important}}

.admin-review-row .hotel-row-actions button{border:1px solid #b9dcd4!important;border-radius:999px!important;background:#eef8f4!important;color:#126b67!important;padding:8px 12px!important;font-size:11px!important;font-weight:700!important;white-space:nowrap;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}.admin-review-row .hotel-row-actions button:hover{background:#d9f0e9!important;box-shadow:0 5px 16px #137f701c;transform:translateY(-1px)}@media(max-width:650px){.admin-review-row .hotel-row-actions button{padding:7px 10px!important}}

.admin-review-row>.admin-review-identity{flex:1 1 0%;min-width:0}.admin-review-row>.admin-review-identity>div{flex:1;min-width:0}.admin-review-row>.admin-review-identity p{width:100%;max-width:none;overflow-wrap:anywhere}.admin-review-row>.hotel-row-actions{flex:0 0 auto;align-self:flex-start}@media(max-width:760px){.admin-review-row>.admin-review-identity{width:100%;flex:1 1 100%}.admin-review-row>.hotel-row-actions{width:100%;justify-content:flex-start}}

/* Give admin review text a full-width row beneath the reviewer header and actions. */
.admin-review-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;grid-template-rows:auto auto auto auto;column-gap:12px!important;row-gap:4px!important;align-items:start}.admin-review-row>.admin-review-identity{display:contents!important}.admin-review-row>.admin-review-identity>.review-avatar{grid-column:1;grid-row:1/4;align-self:start}.admin-review-row>.admin-review-identity>div{display:contents!important}.admin-review-row>.admin-review-identity b{grid-column:2;grid-row:1;min-width:0}.admin-review-row>.admin-review-identity .review-stars{grid-column:2;grid-row:2}.admin-review-row>.admin-review-identity small{grid-column:2;grid-row:3;min-width:0;overflow-wrap:anywhere}.admin-review-row>.admin-review-identity p{grid-column:1/-1;grid-row:4;width:100%!important;max-width:none!important;margin:8px 0 2px!important;overflow-wrap:anywhere}.admin-review-row>.hotel-row-actions{grid-column:3;grid-row:1;align-self:start;justify-self:end;flex:0 0 auto!important}@media(max-width:760px){.admin-review-row{grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto auto}.admin-review-row>.admin-review-identity>.review-avatar{grid-column:1;grid-row:1/4}.admin-review-row>.admin-review-identity p{grid-column:1/-1;grid-row:4}.admin-review-row>.hotel-row-actions{grid-column:1/-1;grid-row:5;justify-self:start;width:100%;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-start}}
.review-image-preview-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px;background:rgba(9,27,39,.72);backdrop-filter:blur(8px)}.review-image-preview{width:min(540px,100%);max-height:94vh;overflow:auto;padding:14px;border:1px solid #d5e6e0;border-radius:18px;background:#fffefa;box-shadow:0 22px 80px #071b2a55;text-align:center}.review-image-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#14364a}.review-image-preview-head button{width:36px;height:36px;border:1px solid #cfe3dc;border-radius:50%;background:#eff8f4;color:#126b67;font-size:22px}.review-image-preview img{display:block;width:auto;max-width:100%;max-height:70vh;margin:auto;border-radius:10px;object-fit:contain;touch-action:pan-y}.review-image-preview p{margin:10px 4px;color:#536b70;font-size:13px;line-height:1.5}.review-image-preview .btn{display:inline-flex;margin:4px auto 2px}
.reviews-gradient-page{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 97% 7%,rgba(255,255,255,.09) 0 170px,transparent 172px),radial-gradient(circle at 2% 96%,rgba(255,255,255,.07) 0 150px,transparent 152px),linear-gradient(135deg,#102d43 0%,#126b70 55%,#18b7a6 100%)}.reviews-gradient-page>.reviews-hero,.reviews-gradient-page>.section{position:relative;z-index:1;background:transparent}.reviews-gradient-page .reviews-hero{color:#fff}.reviews-gradient-page .reviews-hero .eyebrow{color:#76ead9}.reviews-gradient-page .reviews-hero p:not(.eyebrow){color:rgba(255,255,255,.84)}.reviews-gradient-page .public-review-card,.reviews-gradient-page .review-rating-overall,.reviews-gradient-page .review-rating-source,.reviews-gradient-page .reviews-empty{border-color:rgba(255,255,255,.58);background:rgba(255,254,250,.84);backdrop-filter:blur(12px)}.reviews-gradient-page .review-filter-chip{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.13);color:#fff}.reviews-gradient-page .review-filter-chip.active{background:rgba(255,254,250,.92);color:#14364a}.reviews-gradient-page .review-sort-label{color:rgba(255,255,255,.9)}.reviews-gradient-page #review-sort{border-color:rgba(255,255,255,.55);background:rgba(255,254,250,.9);color:#14364a}.reviews-gradient-page .review-platform-links .btn{background:rgba(255,254,250,.88);backdrop-filter:blur(12px)}
.review-flight-particle{position:absolute;z-index:0;left:var(--left);top:var(--top);width:8px;height:6px;background:rgba(255,255,255,.7);clip-path:polygon(0 0,100% 50%,0 100%,27% 50%);opacity:0;pointer-events:none;animation:reviewFlight var(--duration) var(--delay) ease-in-out infinite alternate;filter:drop-shadow(0 0 3px rgba(255,255,255,.25))}@keyframes reviewFlight{0%{transform:translate3d(0,0,0) rotate(var(--turn));opacity:.06}20%{opacity:.5}55%{opacity:.65}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(calc(var(--turn) + 65deg));opacity:.08}}@media(prefers-reduced-motion:reduce){.review-flight-particle{animation:none;opacity:.25}}
.review-flight-particle{width:9px;height:7px;background:rgba(255,255,255,.96);filter:drop-shadow(0 0 4px rgba(255,255,255,.5));animation-timing-function:linear}@keyframes reviewFlight{0%{transform:translate3d(0,0,0) rotate(var(--turn));opacity:.2}18%{opacity:.82}52%{opacity:.96}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(calc(var(--turn) + 65deg));opacity:.18}}
.review-flight-overlay{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none}.review-flight-overlay .review-flight-particle{position:absolute;left:var(--left);top:var(--top);z-index:1;width:8px;height:6px;background:rgba(255,255,255,.94);clip-path:polygon(0 0,100% 50%,0 100%,27% 50%);opacity:0;filter:drop-shadow(0 0 4px rgba(255,255,255,.48));animation:reviewFlight var(--duration) var(--delay) linear infinite normal}.review-flight-overlay .review-flight-particle:nth-child(3n){width:6px;height:5px;opacity:0}.review-flight-overlay .review-flight-particle:nth-child(4n){animation-timing-function:ease-out}@keyframes reviewFlight{0%{transform:translate3d(0,0,0) rotate(var(--turn));opacity:0}12%{opacity:.86}82%{opacity:.92}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(calc(var(--turn) + 55deg));opacity:0}}@media(prefers-reduced-motion:reduce){.review-flight-overlay .review-flight-particle{animation:none!important;opacity:.28!important}}
body.travelme-reviews-active{background:radial-gradient(circle at 97% 7%,rgba(255,255,255,.09) 0 170px,transparent 172px),radial-gradient(circle at 2% 96%,rgba(255,255,255,.07) 0 150px,transparent 152px),linear-gradient(135deg,#102d43 0%,#126b70 55%,#18b7a6 100%)}body.travelme-reviews-active .reviews-gradient-page{position:relative;z-index:2;isolation:auto;overflow:visible;background:transparent}body.travelme-reviews-active .header,body.travelme-reviews-active .footer{position:relative;z-index:20}.review-flight-overlay{z-index:1!important}
body.travelme-reviews-active .header{z-index:20}body.travelme-reviews-active .announcement,body.travelme-reviews-active .footer{position:relative;z-index:20}
body.travelme-reviews-active .header{position:sticky!important;top:0}
.reviews-gradient-page .reviews-browse-button .btn{background:#fffefa!important;color:#12364a!important;border:1px solid rgba(255,255,255,.9);font-weight:800;box-shadow:0 8px 26px rgba(4,28,43,.3)!important}.reviews-gradient-page .reviews-browse-button .btn:hover,.reviews-gradient-page .reviews-browse-button .btn:focus-visible{background:#e9f8f2!important;color:#0b3b49!important;box-shadow:0 11px 30px rgba(4,28,43,.38)!important}
/* Carry the Reviews page brand backdrop through Taytay while keeping its photo hero intact. */
body.travelme-taytay-active{background:radial-gradient(circle at 97% 7%,rgba(255,255,255,.09) 0 170px,transparent 172px),radial-gradient(circle at 2% 96%,rgba(255,255,255,.07) 0 150px,transparent 152px),linear-gradient(135deg,#102d43 0%,#126b70 55%,#18b7a6 100%)}
body.travelme-taytay-active .header,body.travelme-taytay-active .footer,body.travelme-taytay-active .announcement{position:relative;z-index:20}
body.travelme-taytay-active .header{position:sticky!important;top:0}
body.travelme-taytay-active #app{position:relative;z-index:2}
body.travelme-taytay-active #app>.section{position:relative;z-index:2;background:transparent}
body.travelme-taytay-active .taytay-container{position:relative;z-index:2}
body.travelme-taytay-active .taytay-hero .taytay-flight-overlay{position:absolute;inset:0;z-index:0!important;overflow:hidden;pointer-events:none}
body.travelme-taytay-active .taytay-hero .taytay-flight-overlay .review-flight-particle{z-index:0}
body.travelme-taytay-active .taytay-container{isolation:isolate;overflow:visible}
@keyframes taytayArrowFlight{0%{transform:translate3d(0,0,0) rotate(var(--turn));opacity:0}10%{opacity:.86}90%{opacity:.86}100%{transform:translate3d(var(--dx),var(--dy),0) rotate(var(--turn));opacity:0}}
body.travelme-taytay-active .taytay-intro,body.travelme-taytay-active .taytay-section{border-color:rgba(255,255,255,.24)}
body.travelme-taytay-active .taytay-intro h2,body.travelme-taytay-active .taytay-section .section-head h2,body.travelme-taytay-active .taytay-stay-heading h3{color:#fff}
body.travelme-taytay-active .taytay-intro>p,body.travelme-taytay-active .taytay-section .section-head>div>p:last-child,body.travelme-taytay-active .taytay-map-credit{color:rgba(255,255,255,.82)}
body.travelme-taytay-active .taytay-container .eyebrow{color:#8df0dc}
body.travelme-taytay-active .taytay-section .text-link,body.travelme-taytay-active .taytay-travel-note a{color:#b9fff0}
body.travelme-taytay-active .taytay-info-card,body.travelme-taytay-active .taytay-hotline,body.travelme-taytay-active .taytay-hotline-card,body.travelme-taytay-active .taytay-tourism-maps,body.travelme-taytay-active .taytay-tourism-map-card,body.travelme-taytay-active .taytay-travel-note,body.travelme-taytay-active .taytay-stay-heading{border-color:rgba(255,255,255,.58);background:rgba(255,254,250,.87);backdrop-filter:blur(12px)}
body.travelme-taytay-active .taytay-container .trip-card{background:rgba(255,254,250,.94)}
body.travelme-taytay-active .taytay-container .taytay-empty{color:rgba(255,255,255,.84)}
/* Keep Taytay panels see-through and make their text readable over the brand gradient. */
body.travelme-taytay-active .taytay-info-card,body.travelme-taytay-active .taytay-hotline,body.travelme-taytay-active .taytay-hotline-card,body.travelme-taytay-active .taytay-tourism-maps,body.travelme-taytay-active .taytay-tourism-map-card,body.travelme-taytay-active .taytay-travel-note,body.travelme-taytay-active .taytay-stay-heading{background:rgba(8,39,56,.34)}
body.travelme-taytay-active .taytay-info-card h3,body.travelme-taytay-active .taytay-info-card p,body.travelme-taytay-active .taytay-hotline,body.travelme-taytay-active .taytay-hotline-card h3,body.travelme-taytay-active .taytay-hotline-source,body.travelme-taytay-active .taytay-hotline-source a,body.travelme-taytay-active .taytay-travel-note,body.travelme-taytay-active .taytay-travel-note b{color:rgba(255,255,255,.94)}
body.travelme-taytay-active .taytay-stay-heading p,body.travelme-taytay-active .taytay-photo-note,body.travelme-taytay-active .taytay-map-credit b{color:rgba(255,255,255,.8)}
body.travelme-taytay-active .taytay-info-card .taytay-card-number,body.travelme-taytay-active .taytay-info-card .taytay-card-details summary,body.travelme-taytay-active .taytay-info-card .taytay-directions-link{color:#8df0dc}
body.travelme-taytay-active .taytay-card-details{border-color:rgba(255,255,255,.24)}
body.travelme-taytay-active .taytay-card-details-content>p{color:rgba(255,255,255,.84)}

body.travelme-taytay-active .taytay-hotline-icon{background:rgba(141,240,220,.18);color:#a5ffec}
body.travelme-taytay-active .taytay-hotline-numbers a{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#d5fff5}
body.travelme-taytay-active .taytay-tourism-map-card figcaption{background:rgba(8,39,56,.7);color:#fff}
body.travelme-taytay-active .taytay-tourism-map-card figcaption span{color:rgba(255,255,255,.76)}
body.travelme-taytay-active .taytay-travel-note a{color:#8df0dc}
body.travelme-taytay-active .taytay-map{border-color:rgba(255,255,255,.4);background:rgba(8,39,56,.34)}
body.travelme-taytay-active .taytay-map>div{color:rgba(255,255,255,.9)}
body.travelme-taytay-active .taytay-container .trip-card{border-color:rgba(255,255,255,.42);background:rgba(8,39,56,.36)}
body.travelme-taytay-active .taytay-container .trip-content h3{color:#fff}
body.travelme-taytay-active .taytay-container .trip-content p,body.travelme-taytay-active .taytay-container .trip-duration{color:rgba(255,255,255,.8)}
body.travelme-taytay-active .taytay-container .trip-price{color:#fff}
body.travelme-taytay-active .taytay-container .trip-price small,body.travelme-taytay-active .taytay-container .trip-price s{color:rgba(255,255,255,.72)}
body.travelme-taytay-active .taytay-container .trip-meta{color:#8df0dc}
body.travelme-taytay-active .taytay-container .trip-bottom{border-color:rgba(255,255,255,.24)}
/* Slightly enlarge package-card View actions for easier spotting and tapping. */
#app .reference-view{padding:10px 14px;font-size:11px;gap:9px}
.taytay-show-more{display:none}
@media(max-width:760px){.taytay-mobile-more-collapsed>:nth-child(n+4){display:none!important}.taytay-show-more{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;padding:10px 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(8,39,56,.5);color:#dffff8;font-size:12px;font-weight:700;cursor:pointer}.taytay-show-more:focus-visible{outline:3px solid #8df0dc;outline-offset:3px}}
body.travelme-taytay-active .taytay-info-card,body.travelme-taytay-active .taytay-hotline,body.travelme-taytay-active .taytay-hotline-card,body.travelme-taytay-active .taytay-tourism-maps,body.travelme-taytay-active .taytay-tourism-map-card,body.travelme-taytay-active .taytay-travel-note,body.travelme-taytay-active .taytay-stay-heading,body.travelme-taytay-active .taytay-map{background:rgba(8,39,56,.5)}
body.travelme-taytay-active .taytay-container .trip-card{background:rgba(8,39,56,.5)}
body.travelme-taytay-active .taytay-day-tours{background:rgba(8,39,56,.5)}
body.travelme-taytay-active #taytay-packages{margin:12px 0 34px;padding:clamp(18px,3vw,30px);border-radius:18px;background:rgba(8,39,56,.5)}
.itinerary-day--highlight{padding:22px 14px;background:#eff7f1}.itinerary-day--photo-left{grid-template-columns:62px minmax(0,1fr)}.itinerary-day--photo-full img{width:100%;max-height:390px}
@media(max-width:760px){.itinerary-day--photo-left{grid-template-columns:42px minmax(0,1fr);gap:10px}}
/* Keep the Tour Packages search inside the mobile viewport while focused. */
@media(max-width:760px){
  #app .marketplace-hero-inner{width:100%;min-width:0;max-width:100%}
  #app .marketplace-hero .marketplace-search{width:100%;min-width:0;max-width:100%;transform:none}
  #app .marketplace-search input{flex:1 1 0;width:0;min-width:0;font-size:16px;-webkit-appearance:none}
  #app .marketplace-hero .marketplace-search:focus-within{transform:none}
}
/* Remove the decorative arrow beside the Tour Packages heading. */
.marketplace-spark--one{display:none!important}

#package-copy-details{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;padding:10px 16px;background:#d4f5ed;color:#084740;border:1px solid #8dd3c1;font-size:14px;font-weight:800}
#package-copy-details:hover{background:#bceee1}
@media(prefers-reduced-motion:no-preference){
  #package-copy-details span{display:inline-block;animation:copy-details-pulse .65s ease-in-out infinite}
}
@keyframes copy-details-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}

.booking-card .booking-actions:has(#package-messenger){display:flex;flex-wrap:nowrap;justify-content:center;gap:clamp(2px,1.5vw,8px)}
.booking-card .booking-actions :is(#package-messenger,#package-whatsapp,#package-booking .booking-extra-channel){display:grid;place-items:center;flex:0 1 48px;min-width:0;width:48px;height:48px;padding:3px;background:transparent;box-shadow:none}
.booking-actions :is(#package-messenger,#package-whatsapp,#package-booking .booking-extra-channel) img{width:100%;max-width:42px;height:auto;aspect-ratio:1;object-fit:contain}

.package-cover-title{margin:0;font:800 clamp(20px,4vw,48px)/1.15 var(--display);overflow-wrap:anywhere}
.tm-gallery-frame .package-cover-title{position:absolute;inset:auto 0 0;padding:clamp(32px,7vw,80px) clamp(14px,4vw,40px) clamp(14px,4vw,32px);color:#fff;background:linear-gradient(transparent,rgba(5,28,34,.92));pointer-events:none}
.package-cover-description{margin:14px 0 0;color:var(--deep);line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}

/* Tour detail page */
.package-detail-layout{
  --package-ink:#123c40;
  --package-muted:#426465;
  --package-line:#d5e6e1;
  --package-tint:#edf8f5;
}
.package-detail-layout .package-configurator,
.package-detail-layout .package-summary-card,
.package-detail-layout .package-itinerary{
  padding:clamp(16px,3vw,28px);
  border:1px solid var(--package-line);
  border-radius:18px;
  background:#fff;
  color:var(--package-ink);
}
.package-detail-layout .package-configurator{margin:0 0 16px}
.package-detail-layout .package-summary-card{
  align-self:start;
  background:linear-gradient(145deg,var(--package-tint),#fff 65%);
}
.package-detail-layout .package-summary-card--sale{padding-top:44px}
.package-detail-layout :is(.package-configurator,.package-summary-card)>h2{
  margin:0 0 14px;
  color:var(--package-ink);
  font-size:clamp(20px,2.4vw,28px);
  line-height:1.2;
  overflow-wrap:anywhere;
}
.package-detail-layout :is(.package-configurator,.package-summary-card) label{
  color:var(--package-muted);
  font-size:12px;
  line-height:1.4;
}
.package-detail-layout .package-configurator :is(input,select){
  min-height:44px;
  padding:8px 10px;
  border:1px solid #adcac3;
  border-radius:9px;
  background:#fff;
  color:var(--package-ink);
  font-size:16px;
}
.package-detail-layout :is(input,select,button,a):focus-visible{
  outline:2px solid #08776d;
  outline-offset:3px;
}
.package-detail-layout .package-selected-details{
  padding:8px 12px;
  border:1px solid var(--package-line);
  border-radius:12px;
  background:#fff;
}
.package-detail-layout .package-selected-details>div{
  padding-block:7px;
  font-size:12px;
  line-height:1.45;
}
.package-detail-layout .package-selected-details>div+div{
  border-top:1px solid var(--package-line);
}
.package-detail-layout #package-messenger-instructions{
  margin:10px 0 0;
  color:var(--package-muted);
  font-size:12px;
  line-height:1.55;
}
.package-detail-layout #package-booking-feedback:not(:empty){
  padding:10px 12px;
  border-radius:8px;
  background:var(--package-tint);
  font-size:13px;
}
.package-detail-layout #package-booking-feedback textarea{display:block;width:100%;margin-top:8px}
.package-cover-description{max-width:75ch;margin:16px 0 0;font-size:clamp(14px,2vw,17px)}
@media(max-width:760px){
  .package-detail-layout .package-summary-card{margin:0 0 18px}
  .package-detail-layout .plan-travel-date-range label{min-width:0}
  .package-detail-layout .package-configurator input[type="date"]{font-size:14px;padding-inline:6px}
}

body:has(#app .package-detail-layout){
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
#app:has(.package-detail-layout) .package-cover-description,
#app:has(.package-detail-layout) .package-cover-no-photo .package-cover-title{
  color:#123c40;
}

.tm-gallery:has(+ .package-detail-layout){margin-bottom:12px}
.package-detail-layout .package-detail-main{padding-top:0}
.package-detail-layout .package-summary-card{margin-top:0}

#package-capacity-warning{margin:10px 0;padding:10px 12px;border:1px solid #e7b887;border-radius:8px;background:#fff3e5;color:#713c15;font-size:13px;line-height:1.5}
#package-capacity-warning[hidden]{display:none}
/* Match the Tour Packages listing backdrop to the package detail page. */
body:has(#app .marketplace-listing){
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
#app .marketplace-listing{background:transparent}
/* Apply the matching detail-page backdrop directly to the listing section too. */
#app .marketplace-listing{
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
/* Use the same pale teal patterned page backdrop on Contact Us. */
body:has(#app .contact-company-layout){
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
body:has(#app .contact-company-layout) #app .page-hero{background:transparent}
/* Match the shared page backdrop on Home while retaining its photo and feature bands. */
body:has(#app .hero){
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
/* Keep the Home package section on the same teal patterned backdrop. */
body:has(#app .hero) #app .section-tint{
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
/* Show the same patterned backdrop behind the Taytay guide content. */
body:has(#app .taytay-hero){
  background:
    radial-gradient(circle at 94% 12%, #126b7014 0 120px, transparent 121px),
    radial-gradient(circle at 4% 45%, #126b7010 0 92px, transparent 93px),
    radial-gradient(circle at 90% 82%, #126b7012 0 145px, transparent 146px),
    #cbe5df;
}
body:has(#app .contact-company-layout) #app .page-hero .eyebrow{color:#148a80}
body:has(#app .contact-company-layout) #app .page-hero h1{color:#123c40}
body:has(#app .contact-company-layout) #app .page-hero p:not(.eyebrow){color:#5f777b}

/* Keep the Taytay guide surfaces readable over its navy-to-teal backdrop. */
body.travelme-taytay-active .taytay-intro,
body.travelme-taytay-active .taytay-section{border-color:rgba(255,255,255,.24)}
body.travelme-taytay-active .taytay-intro h2,
body.travelme-taytay-active .taytay-section .section-head h2{color:#fff}
body.travelme-taytay-active .taytay-intro>p,
body.travelme-taytay-active .taytay-section .section-head>div>p:last-child,
body.travelme-taytay-active .taytay-map-credit{color:rgba(255,255,255,.82)}
body.travelme-taytay-active .taytay-info-card,
body.travelme-taytay-active .taytay-hotline,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-tourism-maps,
body.travelme-taytay-active .taytay-tourism-map-card,
body.travelme-taytay-active .taytay-travel-note,
body.travelme-taytay-active .taytay-stay-heading,
body.travelme-taytay-active .taytay-map{
  border-color:rgba(255,255,255,.28);
  background:rgba(240,248,245,.9);
  backdrop-filter:blur(10px);
}
body.travelme-taytay-active .taytay-info-card h3,
body.travelme-taytay-active .taytay-hotline-card h3,
body.travelme-taytay-active .taytay-stay-heading h3,
body.travelme-taytay-active .taytay-travel-note b{color:#123c40}
body.travelme-taytay-active .taytay-info-card p,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-hotline-source,
body.travelme-taytay-active .taytay-stay-heading p,
body.travelme-taytay-active .taytay-travel-note,
body.travelme-taytay-active .taytay-photo-note{color:#526d68}
body.travelme-taytay-active .taytay-card-number,
body.travelme-taytay-active .taytay-info-card .taytay-card-details summary,
body.travelme-taytay-active .taytay-hotline-source a,
body.travelme-taytay-active .taytay-travel-note a{color:#087f75}
body.travelme-taytay-active .taytay-hotline-icon{background:rgba(18,169,154,.14);color:#087f75}
body.travelme-taytay-active .taytay-hotline-numbers a,
body.travelme-taytay-active .taytay-info-card .taytay-source-link{
  border-color:rgba(8,127,117,.25);
  background:rgba(255,255,255,.72);
  color:#087f75;
}
body.travelme-taytay-active .taytay-info-card h3,
body.travelme-taytay-active .taytay-hotline-card h3,
body.travelme-taytay-active .taytay-stay-heading h3{color:#123c40}
body.travelme-taytay-active .taytay-info-card p,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-hotline-source,
body.travelme-taytay-active .taytay-stay-heading p,
body.travelme-taytay-active .taytay-travel-note{color:#355e62}
body.travelme-taytay-active .taytay-map>div{color:#355e62}

/* Use one dark-navy text palette throughout the Taytay content below the cover. */
body.travelme-taytay-active .taytay-container,
body.travelme-taytay-active .taytay-intro h2,
body.travelme-taytay-active .taytay-section .section-head h2,
body.travelme-taytay-active .taytay-intro>p,
body.travelme-taytay-active .taytay-section .section-head>div>p:last-child,
body.travelme-taytay-active .taytay-info-card h3,
body.travelme-taytay-active .taytay-info-card p,
body.travelme-taytay-active .taytay-hotline-card h3,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-hotline-source,
body.travelme-taytay-active .taytay-stay-heading h3,
body.travelme-taytay-active .taytay-stay-heading p,
body.travelme-taytay-active .taytay-travel-note,
body.travelme-taytay-active .taytay-travel-note b,
body.travelme-taytay-active .taytay-info-card .taytay-card-details summary,
body.travelme-taytay-active .taytay-map-credit,
body.travelme-taytay-active .taytay-map>div{color:#123c40}
body.travelme-taytay-active .taytay-hero .eyebrow,
body.travelme-taytay-active .taytay-container .eyebrow,
body.travelme-taytay-active .taytay-container .taytay-card-number,
body.travelme-taytay-active .taytay-container .text-link,
body.travelme-taytay-active .taytay-container .taytay-source-link,
body.travelme-taytay-active .taytay-container .taytay-hotline-source a,
body.travelme-taytay-active .taytay-container .taytay-travel-note a{color:#087f75}
body.travelme-taytay-active .taytay-intro,
body.travelme-taytay-active .taytay-section{
  padding:24px;
  border:1px solid rgba(8,54,66,.16);
  border-radius:16px;
  background:rgba(240,248,245,.9);
}
body.travelme-taytay-active .taytay-section{margin-top:18px}
body.travelme-taytay-active .taytay-info-card,
body.travelme-taytay-active .taytay-hotline,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-tourism-maps,
body.travelme-taytay-active .taytay-tourism-map-card,
body.travelme-taytay-active .taytay-travel-note,
body.travelme-taytay-active .taytay-stay-heading,
body.travelme-taytay-active .taytay-map{
  border-color:rgba(8,54,66,.16);
  background:rgba(240,248,245,.9);
}
body.travelme-taytay-active .taytay-hotline-icon{background:rgba(18,169,154,.14);color:#087f75}
body.travelme-taytay-active .taytay-hotline-numbers a,
body.travelme-taytay-active .taytay-info-card .taytay-source-link{
  border-color:rgba(8,127,117,.25);
  background:rgba(255,255,255,.72);
  color:#087f75;
}
body.travelme-taytay-active .taytay-day-tours,
body.travelme-taytay-active #taytay-packages{
  border:1px solid rgba(8,54,66,.16);
  background:rgba(240,248,245,.9);
  color:#123c40;
}
body.travelme-taytay-active .taytay-day-tours .section-head h2,
body.travelme-taytay-active #taytay-packages .section-head h2,
body.travelme-taytay-active .taytay-day-tours .section-head p,
body.travelme-taytay-active #taytay-packages .section-head p,
body.travelme-taytay-active #taytay-packages>p{color:#123c40}
body.travelme-taytay-active .taytay-day-tours .eyebrow,
body.travelme-taytay-active #taytay-packages .eyebrow,
body.travelme-taytay-active #taytay-packages .text-link{color:#087f75}
body.travelme-taytay-active .taytay-container .trip-card{
  border-color:rgba(8,54,66,.16);
  background:rgba(240,248,245,.9);
}
body.travelme-taytay-active .taytay-container .trip-content h3,
body.travelme-taytay-active .taytay-container .trip-content p,
body.travelme-taytay-active .taytay-container .trip-duration,
body.travelme-taytay-active .taytay-container .trip-price{color:#123c40}
body.travelme-taytay-active .taytay-container .trip-price small,
body.travelme-taytay-active .taytay-container .trip-price s{color:#526d68}
body.travelme-taytay-active .taytay-container .trip-meta{color:#087f75}
body.travelme-taytay-active .taytay-container .trip-bottom{border-color:rgba(8,54,66,.18)}
body.travelme-taytay-active .taytay-info-card,
body.travelme-taytay-active .taytay-hotline,
body.travelme-taytay-active .taytay-hotline-card,
body.travelme-taytay-active .taytay-tourism-map-card,
body.travelme-taytay-active .taytay-day-tour-grid .trip-card,
body.travelme-taytay-active .taytay-package-grid .trip-card{
  box-shadow:0 4px 14px rgba(10,57,62,.13)!important;
}
body.travelme-taytay-active #app .taytay-container .taytay-info-card,
body.travelme-taytay-active #app .taytay-container .taytay-hotline,
body.travelme-taytay-active #app .taytay-container .taytay-hotline-card,
body.travelme-taytay-active #app .taytay-container .taytay-tourism-map-card,
body.travelme-taytay-active #app .taytay-day-tour-grid .trip-card,
body.travelme-taytay-active #app #taytay-packages .trip-card{
  box-shadow:0 4px 14px rgba(10,57,62,.13)!important;
}
body.travelme-taytay-active .taytay-container> .taytay-section:nth-of-type(3) .taytay-directions-link,
body.travelme-taytay-active .taytay-container> .taytay-section:nth-of-type(4) .taytay-directions-link{display:none!important}
@media(max-width:760px){
  body.travelme-taytay-active .taytay-intro,
  body.travelme-taytay-active .taytay-section{padding:18px;border-radius:13px}
}

#app #market-sort{display:none!important}
@media(max-width:650px){
  #app .marketplace-listing .market-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;width:100%}
  #app .marketplace-listing .market-controls select{width:100%;min-width:0;max-width:100%;padding:12px 10px;font-size:10px;white-space:nowrap}
}

/* Let the Taytay introduction sit directly on the page backdrop. */
body.travelme-taytay-active #app .taytay-intro{background:transparent!important;border:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.travelme-taytay-active #app .taytay-intro>p{max-width:68ch;margin:2px 0 0;font-size:clamp(15px,1.1vw,17px);line-height:1.85;letter-spacing:.005em;text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
@media(max-width:760px){body.travelme-taytay-active #app .taytay-intro>p{text-align:left;line-height:1.75}}

.destination-native-hidden{display:none!important}
.destination-picker{position:relative;width:var(--market-control-width,auto);min-width:0}
.destination-picker-trigger{display:block;width:100%;text-align:left;cursor:pointer}
.destination-picker-trigger::after{content:"⌄";float:right;margin-left:10px}
.destination-picker-menu{position:absolute;z-index:80;top:calc(100% + 7px);left:0;width:max(100%,245px);max-width:calc(100vw - 32px);max-height:min(58vh,380px);overflow-y:auto;padding:7px;background:#fff;border:1px solid #cbded8;border-radius:14px;box-shadow:0 14px 36px rgba(12,43,58,.18)}
.destination-picker-menu[hidden]{display:none!important}
.destination-option-group{padding:10px 11px 5px;color:#168f85;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.destination-option{display:block;width:100%;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#173849;text-align:left;font:inherit;font-size:13px;cursor:pointer}
.destination-option:hover,.destination-option:focus-visible{background:#edf6f2;outline:none}
.destination-option.is-unavailable{color:#73858b;cursor:not-allowed}
.destination-option-note{display:none;margin-top:4px;color:#b45b42;font-size:11px;font-weight:600;line-height:1.3}
.destination-option.is-unavailable:hover .destination-option-note,.destination-option.is-unavailable:focus-visible .destination-option-note{display:block}
@media(max-width:650px){#app .marketplace-listing .destination-picker{width:100%;min-width:0;max-width:100%}#app .marketplace-listing .destination-picker-trigger{width:100%;min-width:0;max-width:100%;padding:12px 10px;font-size:10px;white-space:nowrap}}

.admin-destination-picker{width:100%}
.admin-destination-picker .destination-picker-trigger{width:100%}


.destination-option-group-options[hidden]{display:none!important}
button.destination-option-group{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
button.destination-option-group::after{content:'⌄';font-size:13px;transition:transform .18s ease}
button.destination-option-group[aria-expanded='false']::after{transform:rotate(-90deg)}
button.destination-option-group:hover{background:#f3f8f6;border-radius:8px}

/* Destination-led Tours & Trips collection */
.marketplace-listing .market-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.marketplace-listing .market-controls .search-box{flex:1 1 360px;max-width:460px;margin-right:auto}
.marketplace-listing .market-controls .destination-picker{flex:0 1 190px;width:190px}
.marketplace-listing .market-controls .tour-type-picker{flex-basis:170px;width:170px}
.market-collection-sections{display:grid;gap:34px}
.market-region-section{min-width:0}
.market-region-section>h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--deep);font:600 clamp(25px,3.4vw,36px)/1.12 var(--display);letter-spacing:-.045em}
.market-destination-group{margin:0 0 25px;min-width:0}
.market-destination-group:last-child{margin-bottom:0}
.market-destination-group>h3{margin:0 0 13px;color:#247c78;font:600 18px/1.3 var(--display);letter-spacing:-.025em}
.market-destination-group .market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(min-width:1024px){
  .marketplace-listing .market-destination-group .market-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .marketplace-listing .market-grid .reference-trip-photo{aspect-ratio:1.45}
  .marketplace-listing .market-grid .reference-trip-content{min-height:160px;padding:15px 16px 16px}
}
@media(max-width:900px){.market-destination-group .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:650px){.marketplace-listing .market-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.marketplace-listing .market-controls .search-box{grid-column:1/-1;width:100%;max-width:none;margin:0}.marketplace-listing .market-controls .destination-picker,.marketplace-listing .market-controls .tour-type-picker{width:100%;min-width:0;max-width:100%}}
@media(max-width:540px){.market-collection-sections{gap:26px}.market-region-section>h2{margin-bottom:15px;font-size:27px}.market-destination-group{margin-bottom:20px}.market-destination-group>h3{font-size:16px;margin-bottom:10px}.market-destination-group .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Keep footer social symbols visible on small screens after link arrows were removed. */
html body .footer .footer-main>.footer-social>a>span.footer-social-icon,
html body .footer .footer-main>.footer-social>a>span.footer-social-icon:last-child{display:grid!important;place-items:center!important;margin:0!important;color:#e4f4ef!important;visibility:visible!important;opacity:1!important}
html body .footer .footer-main>.footer-social>a>span.footer-social-icon svg{display:block!important;width:19px!important;height:19px!important;visibility:visible!important;opacity:1!important}
/* Printable partner QR standee */
.qr-standee-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:22px;align-items:start}
.qr-standee-controls{align-self:start}
.qr-standee-hint{padding:12px 14px;border-radius:8px;background:#edf6f2;color:#476a66;font-size:11px;line-height:1.6}
.qr-standee-hint.is-local-warning{background:#fff4e9;color:#8a552a}
.qr-standee-link{overflow-wrap:anywhere;padding:12px;border:1px solid #dceae4;border-radius:8px;background:#f8fbf9;color:#52716d;font-size:10px;line-height:1.5}
.qr-standee-preview-wrap{display:grid;justify-items:center;gap:12px}
.qr-standee-preview-wrap>h2{justify-self:start;width:100%;margin:0;color:var(--deep);font:700 16px var(--display)}
.qr-standee-sheet{display:grid;grid-template-rows:auto 1fr auto;width:min(100%,500px);aspect-ratio:3/4;overflow:hidden;border:1px solid #dce6ed;border-radius:18px;background:#f4f8f6;box-shadow:0 14px 35px #123e3815;text-align:center;color:#173d43}
.qr-standee-header{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:18px 14px;background:#103f3c;border-bottom:5px solid #1ab8a6;color:#fff}
.qr-standee-header b{font-size:clamp(15px,2.2vw,25px);letter-spacing:.035em}
.qr-standee-header span{color:#20b8aa;font-size:clamp(10px,1.5vw,16px);font-weight:800;letter-spacing:.025em}
.qr-standee-body{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:9px;margin:16px;padding:16px;border:2px solid #e1e9ef;border-radius:18px;background:#fff}
.qr-standee-welcome p{margin:0;color:#103f3c;font-size:clamp(14px,2vw,21px);font-weight:700}
.qr-standee-welcome h2{margin:6px 0 0;color:#17aa9a;font-size:clamp(17px,2.6vw,28px);line-height:1.15;overflow-wrap:anywhere}
.qr-standee-code{display:grid;place-items:center;width:min(58%,245px);aspect-ratio:1;padding:7px;background:#fff}
.qr-standee-code img{width:100%;height:100%;object-fit:contain}
.qr-standee-code span{color:#829293;font-size:10px;line-height:1.4}
.qr-standee-invite{max-width:90%;margin:0;color:#213f54;font-size:clamp(12px,1.8vw,20px);font-weight:700;line-height:1.5}
.qr-standee-noapp{color:#7b8ea4;font-size:clamp(10px,1.5vw,15px)}
.qr-standee-footer{display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:70px;padding:12px;background:#103f3c;color:#fff}
.qr-standee-footer b{font-size:clamp(14px,2vw,21px)}
.qr-standee-footer span{color:#18b6a5;font-size:clamp(10px,1.5vw,16px);overflow-wrap:anywhere}
.taytay-venue-welcome{margin:0 0 6px!important;color:#b9f4e9!important;font-size:clamp(11px,1.5vw,17px)!important;font-weight:800!important;letter-spacing:.11em!important}
.taytay-venue-kind{display:inline-block;margin:0 0 8px;color:#d6fff7;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:760px){.qr-standee-layout{grid-template-columns:1fr}.qr-standee-preview-wrap{justify-items:start}.qr-standee-preview-wrap>h2{width:100%}.qr-standee-sheet{width:min(100%,440px);margin-inline:auto}}
@media print{
 @page{size:A4 portrait;margin:8mm}
 body *{visibility:hidden!important}
 #qr-standee-preview,#qr-standee-preview *{visibility:visible!important}
 #qr-standee-preview{position:absolute!important;left:0!important;top:0!important;width:194mm!important;height:277mm!important;max-width:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .qr-standee-body{margin:5mm;padding:8mm}
 .qr-standee-code{width:85mm;max-width:none}
 .qr-standee-header{padding:7mm 5mm;border-bottom-width:2mm}
 .qr-standee-footer{min-height:24mm}
}
/* Premium Taytay QR standee artwork */
.qr-standee-sheet.qr-standee-premium{position:relative;grid-template-rows:28% 1fr 13%;border:0;border-radius:22px;background:#f7f5ee;box-shadow:0 18px 44px #0b373124;color:#153e3c}
.qr-standee-premium .qr-premium-header{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;overflow:hidden;padding:16px 18px 18px;background:radial-gradient(circle at 14% 18%,#32c2ad35 0 2px,transparent 3px) 0 0/20px 20px,linear-gradient(135deg,#0d3439,#105f5a 72%,#13796f);border:0;color:#fff}
.qr-standee-premium .qr-premium-header:after{content:"";position:absolute;z-index:-1;right:-12%;bottom:-45%;width:52%;aspect-ratio:1;border:1px solid #b0ece024;border-radius:50%;box-shadow:0 0 0 18px #b0ece012,0 0 0 37px #b0ece00b}
.qr-premium-brand{display:flex;align-items:center;gap:9px;margin-bottom:3px}
.qr-premium-brand>b,.qr-premium-footer-brand>b{font-size:16px;letter-spacing:-.04em}.qr-premium-brand>b span,.qr-premium-footer-brand>b span{color:#28c0ad}
.qr-premium-brand>i,.qr-premium-footer-brand>i{font-size:7px;font-style:normal;letter-spacing:.14em;color:#b9ded8}
.qr-premium-kicker{margin:0;color:#8ee5d8;font-size:7px;font-weight:800;letter-spacing:.2em}
.qr-premium-header h2{margin:0;text-align:center;color:#fff;font:700 clamp(20px,3.4vw,33px)/.98 var(--display);letter-spacing:-.05em}
.qr-premium-header h2 span{color:#74dfd0}
.qr-premium-subtitle{max-width:82%;margin:2px 0 0;color:#d2ebe5;font-size:clamp(8px,1.1vw,11px);line-height:1.35}
.qr-premium-route{position:absolute;right:8%;bottom:9%;width:58px;color:#9ceadd88}
.qr-premium-route svg{display:block;width:100%}
.qr-standee-sheet.qr-standee-premium .qr-premium-main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:0;margin:12px;padding:13px 10px;border:1px solid #e2e8df;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff 72%,#f1f8f4 100%);box-shadow:0 7px 20px #183d3910}
.qr-premium-partner-label{margin:0;color:#168e82;font-size:7px;font-weight:800;letter-spacing:.18em}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome p{color:#5a7470;font-size:clamp(10px,1.4vw,14px);font-weight:500}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome h2{max-width:100%;margin-top:3px;color:#129c8e;font-size:clamp(15px,2.4vw,23px);line-height:1.06}
.qr-premium-scan-frame{position:relative;display:grid;place-items:center;width:min(63%,244px);aspect-ratio:1;padding:6px;border-radius:17px;background:#fff;box-shadow:0 9px 25px #124b4415}
.qr-premium-corner{position:absolute;width:20px;height:20px;border-color:#18ae9c;border-style:solid}
.qr-premium-corner--tl{top:5px;left:5px;border-width:2px 0 0 2px;border-radius:9px 0 0}
.qr-premium-corner--tr{top:5px;right:5px;border-width:2px 2px 0 0;border-radius:0 9px 0 0}
.qr-premium-corner--bl{bottom:5px;left:5px;border-width:0 0 2px 2px;border-radius:0 0 0 9px}
.qr-premium-corner--br{right:5px;bottom:5px;border-width:0 2px 2px 0;border-radius:0 0 9px}
.qr-standee-sheet.qr-standee-premium .qr-standee-code{width:100%;height:100%;padding:10px}
.qr-standee-sheet.qr-standee-premium .qr-standee-code span{font-size:8px}
.qr-premium-scan-label{margin:2px 0 0;color:#138d82;font-size:8px;font-weight:900;letter-spacing:.18em}
.qr-standee-sheet.qr-standee-premium .qr-standee-invite{max-width:95%;margin:0;color:#274b49;font-size:clamp(9px,1.25vw,13px);font-weight:700;line-height:1.35}
.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{color:#758681;font-size:clamp(8px,1.05vw,10px)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background:#0d3439;color:#fff}
.qr-premium-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand>b{font-size:14px}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>span{max-width:58%;color:#b8ddd5;font-size:clamp(7px,.95vw,9px);line-height:1.3;text-align:right;overflow-wrap:anywhere}
@media(max-width:760px){.qr-standee-sheet.qr-standee-premium{width:min(100%,440px)}.qr-premium-route{right:5%;width:42px}}
@media print{
 #qr-standee-preview.qr-standee-premium{grid-template-rows:28% 1fr 13%;border-radius:0}
 #qr-standee-preview.qr-standee-premium .qr-premium-main{margin:5mm;padding:8mm}
 #qr-standee-preview.qr-standee-premium .qr-premium-scan-frame{width:86mm}
 #qr-standee-preview.qr-standee-premium .qr-premium-header h2{font-size:31pt}
 #qr-standee-preview.qr-standee-premium .qr-standee-welcome h2{font-size:22pt}
 #qr-standee-preview.qr-standee-premium .qr-standee-invite{font-size:12pt}
}
/* An ungenerated QR image must stay hidden despite the global img display rule. */
.qr-standee-code img[hidden]{display:none!important}
/* Match the standee preview footer to TravelMe's uploaded wordmark. */
.qr-standee-sheet.qr-standee-premium .qr-premium-footer{min-height:13%;padding:10px 14px}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand{display:flex;width:69px;min-height:23px;box-sizing:border-box;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:2px 5px;border-radius:4px;background:#ffffff}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand>i{color:#54716d;font-size:4px;font-style:normal;font-weight:800;letter-spacing:.12em;line-height:1}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand>img{display:block;width:58px;height:auto;max-width:none;border-radius:0}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>span{font-size:clamp(7px,.85vw,9px)}
@media print{#qr-standee-preview.qr-standee-premium .qr-premium-footer-brand{width:69px;min-height:23px}#qr-standee-preview.qr-standee-premium .qr-premium-footer-brand>img{width:58px}}
/* Keep the premium standee copy and QR comfortably inside their panels. */
.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:4px;padding:12px 16px 14px}
.qr-premium-header h2{font-size:clamp(18px,3vw,28px);line-height:1.04;letter-spacing:-.045em}
.qr-premium-subtitle{max-width:88%;margin:1px 0 0;font-size:clamp(8px,1vw,10px);line-height:1.25}
.qr-standee-sheet.qr-standee-premium .qr-premium-main{justify-content:space-evenly;gap:3px;margin:10px;padding:8px 10px}
.qr-premium-partner-label{font-size:6px;line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome p{font-size:clamp(9px,1.2vw,12px);line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome h2{font-size:clamp(14px,2vw,20px);line-height:1.08;overflow-wrap:anywhere}
.qr-premium-scan-frame{width:min(48%,195px);padding:5px}
.qr-premium-scan-label{margin:0;font-size:7px;line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-standee-invite{font-size:clamp(8px,1vw,11px);line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{font-size:clamp(7px,.9vw,9px);line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:5px;padding:10px 14px 12px}
.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(27px,6.4vw,46px);line-height:.98;letter-spacing:-.055em}
.qr-standee-sheet.qr-standee-premium .qr-premium-subtitle{max-width:88%;font-size:clamp(8px,1vw,10px)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand{width:auto;min-height:0;padding:0;border-radius:0;background:transparent}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand>i{color:#b9ded8;font-size:6px}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand>img{width:58px;filter:brightness(0) invert(1)}
@media print{#qr-standee-preview.qr-standee-premium .qr-premium-footer-brand{width:auto;min-height:0;padding:0;background:transparent}#qr-standee-preview.qr-standee-premium .qr-premium-footer-brand>img{width:58px}}
/* Match the original TravelMe partner standee artwork. */
.qr-standee-sheet.qr-standee-premium{grid-template-rows:14% 74.75% 11.25%;border:0;border-radius:0;background:#f4f8f6;box-shadow:none;color:#183a50}
.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:8px;padding:10px 14px 12px;background:#103f3c;border:0;border-bottom:4px solid #1ab8a6}
.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(18px,4.6vw,24px);line-height:1.12;letter-spacing:.015em;text-transform:uppercase}
.qr-standee-sheet.qr-standee-premium .qr-premium-subtitle{max-width:95%;margin:0;color:#20b8a6;font-size:clamp(12px,3vw,16px);font-weight:800;line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-premium-main{display:grid;place-items:center;gap:0;margin:0;padding:16px;background:#f4f8f6;border:0;border-radius:0;box-shadow:none}
.qr-standee-card{display:flex;width:84%;height:92%;flex-direction:column;align-items:center;justify-content:space-evenly;gap:8px;padding:18px 14px;border:2px solid #e1e9ef;border-radius:18px;background:#fff;text-align:center}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome p{color:#103f3c;font-size:clamp(15px,3.2vw,18px);font-weight:700;line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome h2{margin-top:5px;color:#17b5a5;font-size:clamp(20px,4.2vw,24px);line-height:1.1}
.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{width:min(48%,230px);padding:0;border-radius:0;background:transparent;box-shadow:none}
.qr-standee-sheet.qr-standee-premium .qr-premium-corner{display:none}
.qr-standee-sheet.qr-standee-premium .qr-standee-code{padding:0}
.qr-standee-sheet.qr-standee-premium .qr-standee-invite{max-width:96%;color:#183a50;font-size:clamp(13px,3vw,15px);font-weight:700;line-height:1.45}
.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{color:#7b8ea4;font-size:clamp(10px,2.4vw,12px);line-height:1.3}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer{flex-direction:column;justify-content:center;gap:7px;padding:8px 12px;background:#103f3c}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>b{color:#fff;font-size:clamp(14px,3.2vw,18px)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>span{max-width:96%;color:#20b8a6;font-size:clamp(10px,2.6vw,13px);line-height:1.25;text-align:center}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand{display:none}
@media print{#qr-standee-preview.qr-standee-premium{grid-template-rows:14% 74.75% 11.25%;border:0;border-radius:0}#qr-standee-preview.qr-standee-premium .qr-premium-main{margin:0;padding:16px}#qr-standee-preview.qr-standee-premium .qr-premium-scan-frame{width:min(48%,230px)}}
/* Responsive premium standee theme */
.qr-standee-sheet.qr-standee-premium{grid-template-rows:14% 74.75% 11.25%;border:1px solid #d9e9e4;border-radius:20px;background:#f2f8f5;box-shadow:0 18px 44px #0b37311a}
.qr-standee-sheet.qr-standee-premium .qr-premium-header{isolation:isolate;gap:9px;padding:10px 16px 13px;background:radial-gradient(ellipse at 12% 12%,#4cdbca50 0,transparent 38%),radial-gradient(ellipse at 92% 95%,#159e8a70 0,transparent 42%),linear-gradient(125deg,#0c3540 0%,#105b59 58%,#08796d 100%);border-bottom:4px solid #23b9a8}
.qr-standee-sheet.qr-standee-premium .qr-premium-header:after{right:-10%;bottom:-67%;width:62%;border-color:#b0ece035;box-shadow:0 0 0 16px #b0ece017,0 0 0 34px #b0ece010,0 0 0 54px #b0ece009}
.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(18px,4.6vw,24px);line-height:1.12;letter-spacing:.01em;text-shadow:0 2px 10px #052d3540}
.qr-standee-sheet.qr-standee-premium .qr-premium-subtitle{max-width:95%;color:#50d7c5;font-size:clamp(12px,3vw,16px);font-weight:800;letter-spacing:.035em;line-height:1.2}
.qr-standee-sheet.qr-standee-premium .qr-premium-main{display:grid;place-items:center;margin:0;padding:16px;background:linear-gradient(145deg,#eaf4f0,#f7faf8 55%,#e7f4ef);border:0;border-radius:0;box-shadow:none}
.qr-standee-card{position:relative;overflow:hidden;width:84%;height:92%;gap:10px;padding:20px 16px;border-color:#dce9e5;border-radius:22px;background:linear-gradient(150deg,#fff 0%,#fff 70%,#f7fbf9 100%);box-shadow:0 12px 30px #0a514412,0 2px 7px #0a51440a;transition:transform .25s ease,box-shadow .25s ease}
.qr-standee-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#1db5a3,#a9e9dd 50%,#1db5a3)}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome p{color:#254c4b;font-size:clamp(15px,3.2vw,18px);letter-spacing:.01em}
.qr-standee-sheet.qr-standee-premium .qr-standee-welcome h2{color:#119c8f;font-size:clamp(20px,4.2vw,24px);text-wrap:balance}
.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{width:min(48%,230px);padding:7px;border:1px solid #dcebe5;border-radius:18px;background:#fff;box-shadow:0 12px 28px #0a514417}
.qr-standee-sheet.qr-standee-premium .qr-standee-invite{font-size:clamp(13px,3vw,15px);line-height:1.4;text-wrap:balance}
.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{color:#788e91;font-size:clamp(10px,2.4vw,12px)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer{position:relative;overflow:hidden;flex-direction:column;justify-content:center;gap:7px;padding:9px 14px;background:linear-gradient(120deg,#0c3540,#105b59 58%,#08796d)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#23b9a8,#a9e9dd,#23b9a8)}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>b{font-size:clamp(14px,3.2vw,18px);letter-spacing:-.02em}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer>span{color:#63dece;font-size:clamp(10px,2.6vw,13px);line-height:1.25;text-align:center}
.qr-standee-sheet.qr-standee-premium .qr-premium-footer-brand{display:none}
@media(hover:hover){.qr-standee-sheet.qr-standee-premium:hover .qr-standee-card{transform:translateY(-2px);box-shadow:0 16px 34px #0a51441c,0 3px 9px #0a51440b}}
@media(max-width:520px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:17% 70% 13%;border-radius:16px}.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:6px;padding:8px 12px 10px}.qr-standee-sheet.qr-standee-premium .qr-premium-main{padding:10px}.qr-standee-card{width:90%;height:94%;gap:7px;padding:14px 10px}.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{width:min(52%,205px)}.qr-standee-sheet.qr-standee-premium .qr-standee-invite{max-width:98%;font-size:clamp(11px,3vw,14px)}.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{font-size:clamp(9px,2.5vw,11px)}.qr-standee-sheet.qr-standee-premium .qr-premium-footer>span{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:380px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:19% 68% 13%}.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:4px;padding:6px 9px 8px}.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(16px,5vw,19px)}.qr-standee-sheet.qr-standee-premium .qr-premium-subtitle{font-size:clamp(10px,3.3vw,12px)}.qr-standee-sheet.qr-standee-premium .qr-premium-main{padding:5px}.qr-standee-card{width:94%;height:96%;gap:4px;padding:10px 8px}.qr-standee-sheet.qr-standee-premium .qr-standee-welcome p{font-size:12px}.qr-standee-sheet.qr-standee-premium .qr-standee-welcome h2{font-size:16px}.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{width:min(48%,145px);padding:4px;border-radius:12px}.qr-standee-sheet.qr-standee-premium .qr-standee-invite{font-size:10px;line-height:1.2}.qr-standee-sheet.qr-standee-premium .qr-standee-noapp{font-size:8px}}
@media(prefers-reduced-motion:reduce){.qr-standee-card{transition:none}}
/* Add more breathing room to the banner and tighten the QR frame. */
 .qr-standee-sheet.qr-standee-premium{grid-template-rows:20% 68.75% 11.25%}
.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:14px;padding:18px 20px 20px}
.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{padding:2px;border-radius:12px}
@media(max-width:520px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:20% 67% 13%}.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:8px;padding:12px 14px 14px}.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{padding:2px}}
@media(max-width:380px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:21% 66% 13%}.qr-standee-sheet.qr-standee-premium .qr-premium-header{gap:6px;padding:10px 10px 12px}}
.qr-standee-sheet.qr-standee-premium{grid-template-rows:20% 68.75% 11.25%}
.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(22px,5.4vw,31px);line-height:1.08}
@media(max-width:520px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:23% 64% 13%}.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(20px,5.2vw,27px)}.qr-standee-sheet.qr-standee-premium .qr-premium-scan-frame{width:min(49%,195px)}}
@media(max-width:380px){.qr-standee-sheet.qr-standee-premium{grid-template-rows:24% 63% 13%}.qr-standee-sheet.qr-standee-premium .qr-premium-header h2{font-size:clamp(18px,5.5vw,21px)}.qr-standee-sheet.qr-standee-premium .qr-premium-subtitle{font-size:clamp(10px,3.3vw,12px)}}

.package-discount-amount{display:block;margin-top:5px;color:#c9433e;font-size:11px;line-height:1.25;font-weight:750}.reference-trip-bottom .package-discount-amount{margin-top:5px}@media(max-width:650px){.package-discount-amount{font-size:10px}}

/* TravelMe age-based pricing panel background */
.guest-rate-fields{padding:18px;background:#b8ded3;border:1px solid #91c8b9;border-radius:12px;box-shadow:0 5px 18px #0b72620d}
.guest-rate-fields>b{color:#123e3b;font-size:14px}
.guest-rate-fields>small{color:#55716c;font-size:11px;line-height:1.55}
.guest-rate-fields .field-grid{margin-top:8px}
.guest-rate-fields .field label{color:#315d57}
#admin-panel:has(#package-form) .admin-card{background:#c8e5dc;border-color:#a7d0c3}
#admin-panel:has(#package-form) .marketplace-header-editor{background:#c8e5dc;border-color:#a7d0c3}
.admin-main .admin-card{background:#c8e5dc;border-color:#a7d0c3}
.tour-package-add-row{display:flex;justify-content:flex-end;margin:16px 0}
.tour-package-modal-backdrop{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px;background:#092b2bc2;backdrop-filter:blur(5px)}
.tour-package-modal-backdrop[hidden]{display:none!important}
.tour-package-modal{position:relative;width:min(1040px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid #a7d0c3;border-radius:18px;background:#c8e5dc;box-shadow:0 24px 80px #001c1c66;scrollbar-gutter:stable}
.tour-package-modal #package-form{margin:0;padding:22px;border-color:#a7d0c3;background:#c8e5dc}
.tour-package-modal-close{position:sticky;top:0;z-index:3;float:right;width:40px;height:40px;margin:0 0 -40px 0;border:1px solid #a7d0c3;border-radius:50%;background:#f7fffc;color:#164b45;font-size:25px;line-height:1;cursor:pointer}
#package-form :is(.tour-package-details,.itinerary-edit-row,.tour-package-coverage) { padding:6px; border:1px solid #dce8e2; border-radius:8px; background:#fff; }
#package-form .tour-package-details { margin:0 0 8px; }
#package-form :is(.tour-package-details,.itinerary-edit-row,.tour-package-coverage) > summary { box-sizing:border-box; min-height:44px; padding:7px 36px 7px 12px; border-radius:6px; overflow-wrap:anywhere; }
#package-form .tour-package-details > .field-grid { margin-top:12px; }
@media(max-width:650px){.tour-package-modal-backdrop{padding:8px}.tour-package-modal{width:100%;max-height:calc(100dvh - 16px);padding:10px;border-radius:14px}.tour-package-modal #package-form{padding:16px}.tour-package-modal-close{width:36px;height:36px;margin-bottom:-36px}}
.admin-form-modal-trigger-row{display:flex;justify-content:flex-end;margin:12px 0 18px}
.admin-form-modal-backdrop{position:fixed;inset:0;z-index:490;display:grid;place-items:center;padding:24px;background:#092b2bc2;backdrop-filter:blur(5px)}
.admin-form-modal-backdrop[hidden]{display:none!important}
.admin-form-modal-dialog{position:relative;width:min(1000px,calc(100% - 40px));max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid #a7d0c3;border-radius:18px;background:#c8e5dc;box-shadow:0 24px 80px #001c1c66;scrollbar-gutter:stable}
.admin-form-modal-dialog>form{margin:0;padding:22px;border-color:#a7d0c3;background:#c8e5dc}
.admin-form-modal-close{position:sticky;top:0;z-index:3;float:right;width:40px;height:40px;margin:0 0 -40px 0;border:1px solid #a7d0c3;border-radius:50%;background:#f7fffc;color:#164b45;font-size:25px;line-height:1;cursor:pointer}
.admin-form-modal-dialog>form>h2{padding-right:50px}
@media(max-width:760px){.admin-form-modal-backdrop{padding:8px}.admin-form-modal-dialog{width:calc(100% - 16px);max-height:calc(100% - 16px);padding:10px;border-radius:14px}.admin-form-modal-dialog>form{padding:16px}.admin-form-modal-close{width:36px;height:36px;margin-bottom:-36px}}



.regular-range{position:relative;margin:10px 0;padding:10px;border:1px solid #dceae4;border-radius:5px;background:#fff}.regular-range strong{display:block;margin-bottom:7px;color:#607674;font-size:9px}.regular-range .room-remove{margin-top:8px}.season-heading>b{margin:0;color:#147e74;font-size:10px}
.hotel-record-search{display:block;width:100%;max-width:460px;margin:12px 0 8px;padding:11px 14px;border:1px solid #bfd8d0;border-radius:999px;background:#fff;color:var(--deep);font:inherit;font-size:12px}.hotel-record-search:focus{outline:2px solid #19b7a5;outline-offset:2px}.hotel-record-search::placeholder{color:#82928d}
.hotel-row[hidden]{display:none!important}
.admin-auth-shell{min-height:56vh;display:grid;place-items:center;padding:36px 18px;background:linear-gradient(135deg,#edf7f3,#d9eee7)}.admin-auth-card{width:min(100%,430px);padding:30px;border:1px solid #c9e1d9;border-radius:18px;background:#fff;box-shadow:0 18px 50px #123e3318}.admin-auth-card h1{margin:4px 0 10px;color:var(--deep);font-size:28px}.admin-auth-card>p:not(.eyebrow){margin:0 0 20px;color:#637773;font-size:13px;line-height:1.6}.admin-auth-card label{display:block;margin-bottom:7px;color:#31514d;font-size:12px;font-weight:700}.admin-auth-card input{width:100%;min-height:46px;margin-bottom:14px;padding:11px 13px;border:1px solid #c7dbd5;border-radius:9px;background:#fbfdfc;color:var(--deep);font:inherit}.admin-auth-card input:focus{outline:2px solid #19b7a5;outline-offset:2px}.admin-auth-card .btn{width:100%;min-height:44px}.admin-auth-error{margin:0 0 12px!important;color:#b3313e!important;font-size:12px!important}.admin-signout{border:1px solid #9bd2c7;border-radius:999px;padding:8px 12px;background:#fff;color:#176d64;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.admin-signout:hover{background:#e6f5f0}

/* Taytay tourist destinations: horizontal swipe on phones. */
@media (max-width: 640px) {
  #taytay-destinations .taytay-card-grid,
  #taytay-accommodations .taytay-stay-group .taytay-card-grid,
  #taytay-restaurants .taytay-card-grid,
  #taytay-day-tours .taytay-day-tour-grid,
  #taytay-packages .taytay-card-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(84%, 340px);
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 4px 18px;
    margin: 0 -4px 0;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  #taytay-destinations .taytay-info-card,
  #taytay-accommodations .taytay-info-card,
  #taytay-restaurants .taytay-info-card,
  #taytay-day-tours .trip-card,
  #taytay-packages .trip-card {
    min-width: 0;
    scroll-snap-align: start;
  }
}

/* Global responsive and smooth-scroll refinements. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(94px + env(safe-area-inset-top));
}
body {
  overflow-x: clip;
}
#app,
#app > * {
  min-width: 0;
}
#app img,
#app video,
#app iframe {
  max-width: 100%;
}
@media (max-width: 760px) {
  html {
    scroll-padding-top: calc(76px + env(safe-area-inset-top));
  }
  .container,
  .hero-inner {
    width: min(var(--wrap), calc(100% - 32px));
  }
  .section {
    padding-block: clamp(48px, 9vw, 72px);
  }
  .section-head,
  .taytay-container,
  .trip-grid,
  .market-grid,
  .taytay-card-grid,
  .review-grid {
    min-width: 0;
  }
  .section-head h2,
  .section-title,
  .trip-card,
  .taytay-info-card {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* TravelMe home: destination discovery and package browsing */
.travelme-home{--home-ink:#102f39;--home-teal:#13b6a7;--home-muted:#607c80;overflow:hidden;background:#fbfaf7;color:var(--home-ink)}
.home-market-hero{position:relative;isolation:isolate;min-height:clamp(500px,58vw,680px);display:grid;place-items:center;padding:70px 24px 80px;color:#fff;background:#073c48;overflow:hidden}
.home-market-hero:before{position:absolute;z-index:-2;inset:0;content:"";background-image:var(--home-hero-image);background-size:cover;background-position:center 53%;transform:scale(1.025)}
.home-market-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,38,54,.83),rgba(5,45,57,.48) 55%,rgba(5,41,48,.2)),linear-gradient(0deg,rgba(5,34,48,.40),transparent 55%)}
.home-market-content{width:min(840px,100%);text-align:center;margin:auto}
.home-market-kicker,.home-market-content .eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;color:#9cf1df;font-size:10px;font-weight:800;letter-spacing:.19em}
.home-kicker-mark{color:#43d5c4;font-size:17px}
.home-market-content h1{margin:17px 0 14px;font:800 clamp(42px,7.2vw,82px)/.99 var(--display);letter-spacing:-.075em;text-wrap:balance}
.home-market-content h1 em{color:#8be7d7;font-style:normal}
.home-market-intro{max-width:570px;margin:0 auto;color:#f0f7f5;font-size:clamp(14px,1.65vw,18px);line-height:1.65}
.home-market-search{display:flex;align-items:center;gap:12px;width:min(700px,100%);margin:32px auto 0;padding:7px 8px 7px 21px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 18px 50px rgba(4,31,39,.23);color:#278a86;text-align:left}
.home-market-search>span{font-size:25px;line-height:1}
.home-market-search input{width:100%;min-width:0;height:48px;border:0;outline:0;background:transparent;color:#173e48;font:500 14px var(--sans)}
.home-market-search input::placeholder{color:#73898d}
.home-market-search button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:0 22px;border:0;border-radius:11px;background:#12b6a6;color:#052e35;font:700 13px var(--sans);cursor:pointer;transition:background .2s ease,transform .2s ease}
.home-market-search button:hover{background:#33cbb9;transform:translateY(-1px)}
.home-search-hints{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:16px;color:#d8e8e7;font-size:11px}
.home-search-hints a{padding:6px 12px;border:1px solid rgba(255,255,255,.42);border-radius:30px;color:#fff;text-decoration:none;transition:background .2s ease}
.home-search-hints a:hover{background:rgba(255,255,255,.16)}
.home-hero-scroll{position:absolute;right:max(24px,calc((100vw - 1240px)/2));bottom:24px;color:#e4f4f0;font-size:11px;text-decoration:none}
.home-hero-scroll span{margin-left:8px;color:#77e2d0}
.home-quick-nav{position:relative;z-index:1;display:flex;justify-content:center;gap:clamp(20px,5vw,64px);width:min(1080px,calc(100% - 40px));margin:-26px auto 0;padding:17px 24px;border:1px solid #dce8e2;border-radius:16px;background:#fff;box-shadow:0 16px 38px #103b3810}
.home-quick-nav a{display:flex;align-items:center;gap:9px;color:#36585d;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.home-quick-nav a span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#eaf7f2;color:#0c9c91;font-size:15px}
.home-discovery-section,.home-packages-section{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:76px 0 24px}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.home-section-heading .eyebrow,.home-local-copy .eyebrow,.home-contact-band .eyebrow{margin:0 0 9px;color:#148f89;font-size:9px;font-weight:800;letter-spacing:.17em}
.home-section-heading h2,.home-local-copy h2,.home-contact-band h2{margin:0;color:#123a43;font:700 clamp(27px,3.5vw,40px)/1.1 var(--display);letter-spacing:-.055em}
.home-section-heading p:not(.eyebrow){margin:8px 0 0;color:var(--home-muted);font-size:13px;line-height:1.6}
.home-section-link{display:inline-flex;align-items:center;gap:12px;padding-bottom:4px;color:#0d8983;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.home-section-link span{font-size:18px;transition:transform .2s ease}.home-section-link:hover span{transform:translateX(4px)}
.home-destination-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.home-destination-tile{position:relative;min-height:clamp(190px,22vw,276px);overflow:hidden;border-radius:15px;background:#d8e8e4;color:#fff;text-decoration:none;isolation:isolate}
.home-destination-tile img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.home-destination-tile:hover img{transform:scale(1.055)}
.home-destination-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(4,33,42,.82),rgba(4,33,42,.03) 72%)}
.home-destination-copy{position:absolute;left:17px;right:38px;bottom:18px;display:grid;gap:5px}
.home-destination-copy small{color:#d2ebe6;font-size:9px;letter-spacing:.03em}
.home-destination-copy b{font:700 22px var(--display);letter-spacing:-.04em}
.home-destination-go{position:absolute;right:14px;bottom:17px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff80;border-radius:50%;font-size:14px}
.home-packages-section{padding-top:58px;padding-bottom:70px}
.home-package-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-package-grid .trip-card{min-width:0}
.home-package-grid .trip-photo{aspect-ratio:1.34}
.home-no-packages{grid-column:1/-1;padding:25px;border-radius:12px;background:#eef7f3;color:#45656a;font-size:14px}
.home-no-packages a{color:#087f7a;font-weight:700}
.home-local-feature{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;min-height:340px;margin:0 auto 64px;width:min(1240px,calc(100% - 56px));overflow:hidden;border-radius:20px;background:linear-gradient(120deg,#eaf5ef,#f4f6ed)}
.home-local-photo{position:relative;min-height:310px;overflow:hidden}.home-local-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.home-local-photo span{position:absolute;left:20px;bottom:18px;padding:8px 11px;border:1px solid #ffffff80;border-radius:20px;background:#082f3a70;color:#fff;font-size:9px;font-weight:700;letter-spacing:.14em;backdrop-filter:blur(8px)}
.home-local-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(28px,5vw,62px)}
.home-local-copy h2{max-width:420px;font-size:clamp(30px,4vw,46px)}
.home-local-copy>p:not(.eyebrow){max-width:440px;margin:15px 0 22px;color:#567174;font-size:13px;line-height:1.8}
.home-local-copy .btn,.home-contact-band .btn{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:28px;background:#13b6a7;color:#073c40;text-decoration:none}
.home-contact-band{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1240px,calc(100% - 56px));margin:0 auto 74px;padding:clamp(25px,4vw,46px);border:1px solid #d9e8e1;border-radius:17px;background:#fff}
.home-contact-band p:not(.eyebrow){margin:9px 0 0;color:#5d777b;font-size:13px;line-height:1.6}
@media(max-width:1000px){.home-destination-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.home-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-package-grid .trip-photo{aspect-ratio:1.48}}
@media(max-width:650px){.home-market-hero{min-height:530px;padding:62px 18px 76px}.home-market-shade{background:linear-gradient(90deg,rgba(5,38,54,.75),rgba(5,45,57,.45)),linear-gradient(0deg,rgba(5,34,48,.5),transparent 70%)}.home-market-content h1{font-size:clamp(43px,12vw,66px)}.home-market-search{gap:8px;margin-top:25px;padding:6px 6px 6px 14px;border-radius:14px}.home-market-search input{height:46px;font-size:12px}.home-market-search button{min-height:45px;padding:0 14px;font-size:11px}.home-quick-nav{justify-content:flex-start;gap:18px;width:calc(100% - 24px);overflow-x:auto;padding:12px 14px;scrollbar-width:none}.home-quick-nav::-webkit-scrollbar{display:none}.home-quick-nav a{font-size:11px}.home-quick-nav a span{width:28px;height:28px;flex:0 0 28px}.home-discovery-section,.home-packages-section{width:calc(100% - 28px);padding-top:54px}.home-section-heading{align-items:flex-start}.home-section-heading h2{font-size:29px}.home-section-heading p:not(.eyebrow){font-size:11px}.home-section-link{font-size:10px;gap:6px;padding-top:18px}.home-destination-rail{grid-auto-flow:column;grid-auto-columns:minmax(68vw,1fr);grid-template-columns:none;overflow-x:auto;gap:12px;padding:2px 1px 15px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#a9cfc7 transparent;-webkit-overflow-scrolling:touch}.home-destination-tile{min-height:230px;scroll-snap-align:start}.home-destination-copy b{font-size:21px}.home-packages-section{padding-bottom:52px}.home-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-package-grid .trip-photo{aspect-ratio:1.05}.home-package-grid .trip-content{padding:12px}.home-package-grid .reference-trip-content h3{font-size:12px}.home-package-grid .reference-trip-place{font-size:9px}.home-package-grid .reference-price{font-size:18px}.home-package-grid .reference-view{min-width:58px;padding:9px 10px;font-size:10px}.home-local-feature{grid-template-columns:1fr;width:calc(100% - 28px);margin-bottom:42px;border-radius:16px}.home-local-photo{min-height:220px}.home-local-copy{padding:25px 22px 28px}.home-local-copy h2{font-size:32px}.home-local-copy>p:not(.eyebrow){font-size:12px}.home-contact-band{align-items:flex-start;flex-direction:column;width:calc(100% - 28px);margin-bottom:48px;padding:23px 20px}.home-contact-band h2{font-size:29px}.home-contact-band .btn{align-self:stretch;justify-content:center}}
@media(max-width:380px){.home-section-heading{display:block}.home-section-link{padding-top:10px}.home-package-grid .trip-content{padding:10px}.home-package-grid .reference-trip-content h3{font-size:11px}.home-package-grid .reference-view{min-width:52px;padding:8px}.home-market-search button{gap:6px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.home-market-search button,.home-search-hints a,.home-destination-tile img,.home-section-link span{transition:none}}

/* Home page motion and guest reviews */
.home-market-hero{isolation:isolate;overflow:hidden}.home-market-hero:before{content:"";position:absolute;inset:-8%;z-index:-1;background-image:var(--home-hero-image);background-position:center 48%;background-size:cover;animation:homeHeroDrift 24s ease-in-out infinite alternate;will-change:transform}.home-market-hero:after{content:"";position:absolute;z-index:-1;width:min(50vw,540px);height:min(50vw,540px);right:-8%;top:4%;border-radius:50%;background:radial-gradient(circle,rgba(34,202,180,.23),transparent 68%);filter:blur(5px);animation:homeGlowDrift 12s ease-in-out infinite alternate;pointer-events:none}.home-market-content{animation:homeContentRise .8s cubic-bezier(.2,.75,.25,1) both}.home-market-search{transition:transform .25s ease,box-shadow .25s ease}.home-market-search:focus-within{transform:translateY(-3px);box-shadow:0 15px 44px rgba(0,25,35,.28)}.home-market-search button{transition:transform .22s ease,box-shadow .22s ease}.home-market-search button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(9,109,101,.28)}.home-quick-nav{box-shadow:0 16px 50px rgba(19,72,71,.08)}.home-quick-nav a{transition:transform .24s ease,color .24s ease}.home-quick-nav a:hover{transform:translateY(-3px);color:#0b8f86}.home-destination-tile,.home-local-feature,.home-package-grid .trip-card{transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease}.home-destination-tile:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(11,53,60,.18)}.home-destination-tile img{transition:transform .65s cubic-bezier(.2,.75,.25,1)}.home-destination-tile:hover img{transform:scale(1.055)}.home-local-feature:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(10,57,60,.13)}
.home-reviews-section{position:relative;overflow:hidden;padding:76px max(28px,calc((100vw - 1240px)/2)) 66px;background:radial-gradient(ellipse at 88% 4%,rgba(39,192,169,.16),transparent 32%),linear-gradient(135deg,#eaf5f0 0%,#f7f8f3 52%,#e5f3ee 100%);border-block:1px solid rgba(18,126,117,.08)}.home-reviews-section:after{content:"✳";position:absolute;right:5%;top:15px;color:rgba(20,174,157,.12);font-size:145px;line-height:1;pointer-events:none;transform:rotate(-14deg)}.home-reviews-heading{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}.home-reviews-heading .home-section-heading{flex:1;margin:0}.home-reviews-rating{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(18,126,117,.16);border-radius:14px;background:rgba(255,255,255,.72);white-space:nowrap;box-shadow:0 7px 22px rgba(20,74,68,.05)}.home-reviews-rating-stars,.home-review-stars{color:#f39a35;letter-spacing:2px}.home-reviews-rating strong{color:#143e4a;font-size:20px}.home-reviews-rating strong small{font-size:11px;color:#789095}.home-reviews-rating>span:last-child{font-size:10px;color:#617b7d}.home-review-carousel-wrap{position:relative;z-index:1}.home-review-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,calc((100% - 42px)/3));gap:16px;overflow-x:auto;padding:5px 2px 17px;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#8ac8bc transparent}.home-review-card{display:flex;min-height:238px;flex-direction:column;scroll-snap-align:start;padding:21px 22px;border:1px solid rgba(20,113,105,.12);border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 9px 25px rgba(19,72,71,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.home-review-card:hover{transform:translateY(-5px);border-color:rgba(18,171,156,.3);box-shadow:0 17px 35px rgba(19,72,71,.13)}.home-review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-review-stars{font-size:15px;white-space:nowrap}.home-review-source{display:inline-flex;align-items:center;gap:6px;color:#678085;text-decoration:none;font-size:10px;white-space:nowrap}.home-review-source .review-source-icon{width:18px;height:18px;font-size:11px}.home-review-source a:hover,.home-review-source:hover{color:#078c83}.home-review-card blockquote{display:-webkit-box;overflow:hidden;margin:17px 0 18px;color:#173946;font-size:13px;line-height:1.65;-webkit-line-clamp:5;-webkit-box-orient:vertical;flex:1}.home-review-author{display:flex;align-items:center;gap:10px;margin-top:auto}.home-review-avatar{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;overflow:hidden;border-radius:50%;background:#d8f0e9;color:#078d83;font-size:12px;font-weight:800}.home-review-avatar img{width:100%;height:100%;object-fit:cover}.home-review-author-copy{display:grid;gap:3px;min-width:0}.home-review-author-copy b{overflow:hidden;color:#123d47;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.home-review-author-copy small{overflow:hidden;color:#789095;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.home-review-arrow{position:absolute;top:calc(50% - 17px);z-index:2;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(15,113,105,.18);border-radius:50%;background:rgba(255,255,255,.94);color:#0b837b;font-size:25px;line-height:1;box-shadow:0 6px 18px rgba(12,62,61,.15);cursor:pointer;transition:transform .2s ease,background .2s ease}.home-review-arrow:hover{transform:scale(1.08);background:#fff}.home-review-arrow--left{left:-15px}.home-review-arrow--right{right:-15px}.home-review-scroll-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:7px;color:#789095;font-size:10px}.home-review-scroll-dots{display:flex;gap:4px}.home-review-scroll-dots i{width:5px;height:5px;border-radius:50%;background:#97c9bf}.home-review-scroll-dots i:first-child{width:15px;border-radius:6px;background:#13a99b}.home-reviews-empty{padding:26px;border:1px dashed rgba(15,113,105,.25);border-radius:16px;background:rgba(255,255,255,.6);color:#617b7d;font-size:13px;text-align:center}
@keyframes homeHeroDrift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-.7%,.5%,0)}}@keyframes homeGlowDrift{from{transform:translate3d(0,0,0) scale(.92)}to{transform:translate3d(-14px,18px,0) scale(1.08)}}@keyframes homeContentRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.home-reviews-section{padding-inline:28px}.home-review-rail{grid-auto-columns:minmax(285px,calc((100% - 16px)/2))}.home-reviews-heading{align-items:flex-start}.home-reviews-rating{align-self:flex-end}}
@media(max-width:650px){.home-reviews-section{padding:53px 14px 43px}.home-reviews-section:after{right:-10px;top:12px;font-size:92px}.home-reviews-heading{display:block;margin-bottom:16px}.home-reviews-heading .home-section-heading{gap:8px}.home-reviews-heading .home-section-link{display:none}.home-reviews-rating{width:max-content;max-width:100%;margin-top:15px;padding:8px 11px;gap:7px}.home-reviews-rating strong{font-size:17px}.home-reviews-rating>span:last-child{font-size:9px}.home-review-rail{grid-auto-columns:minmax(80vw,1fr);gap:12px;padding-bottom:14px}.home-review-card{min-height:218px;padding:17px 16px;border-radius:15px}.home-review-card blockquote{font-size:12px;-webkit-line-clamp:5}.home-review-arrow{display:none}.home-review-scroll-hint{font-size:9px}.home-destination-tile:hover,.home-local-feature:hover,.home-review-card:hover{transform:none}.home-market-hero:before{animation-duration:34s}}

/* Home page admin editor and requested Home hero cleanup. */
.home-market-kicker,.home-hero-scroll{display:none!important}
.home-reviews-section:after{display:none!important;content:none!important}
.admin-home-editor{padding:22px;border:1px solid rgba(13,121,111,.2);border-radius:18px;background:#c9e5dd}
.admin-home-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-home-field{display:grid;gap:7px;min-width:0;color:#163b49;font-size:13px;font-weight:650}
.admin-home-field input,.admin-home-field textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid rgba(16,86,82,.22);border-radius:10px;background:#f8fcfa;color:#173946;font:inherit;font-weight:400;line-height:1.5}
.admin-home-field textarea{resize:vertical;min-height:92px}
.admin-home-field:has(textarea){grid-column:span 2}
.admin-home-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:#567378;font-size:12px}
@media(max-width:700px){.admin-home-editor{padding:15px}.admin-home-fields{grid-template-columns:minmax(0,1fr);gap:12px}.admin-home-field:has(textarea){grid-column:auto}.admin-home-actions{align-items:stretch;flex-direction:column}.admin-home-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.home-market-hero:before,.home-market-hero:after,.home-market-content{animation:none}.home-market-search,.home-market-search button,.home-quick-nav a,.home-destination-tile,.home-destination-tile img,.home-local-feature,.home-review-card,.home-review-arrow{transition:none}.home-review-rail{scroll-behavior:auto}}

/* Keep horizontal cards and filters swipeable while hiding the browser scrollbar chrome. */
.home-quick-nav,
.home-destination-rail,
.home-review-rail,
.review-filter-bar,
.admin-side,
#taytay-destinations .taytay-card-grid,
#taytay-accommodations .taytay-stay-group .taytay-card-grid,
#taytay-restaurants .taytay-card-grid,
#taytay-day-tours .taytay-day-tour-grid,
#taytay-packages .taytay-card-grid {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.home-quick-nav::-webkit-scrollbar,
.home-destination-rail::-webkit-scrollbar,
.home-review-rail::-webkit-scrollbar,
.review-filter-bar::-webkit-scrollbar,
.admin-side::-webkit-scrollbar,
#taytay-destinations .taytay-card-grid::-webkit-scrollbar,
#taytay-accommodations .taytay-stay-group .taytay-card-grid::-webkit-scrollbar,
#taytay-restaurants .taytay-card-grid::-webkit-scrollbar,
#taytay-day-tours .taytay-day-tour-grid::-webkit-scrollbar,
#taytay-packages .taytay-card-grid::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Taytay page: remove the outer panel treatment from the requested sections. */
body.travelme-taytay-active #taytay-destinations,
body.travelme-taytay-active #taytay-packages,
body.travelme-taytay-active #taytay-restaurants,
body.travelme-taytay-active .taytay-tourism-maps {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Keep the emergency hotline cards styled; make the rest of Taytay seamless. */
body.travelme-taytay-active #app .taytay-intro,
body.travelme-taytay-active #app .taytay-section:not(.taytay-season-weather):not(:has(.taytay-hotline)),
body.travelme-taytay-active #app .taytay-info-card,
body.travelme-taytay-active #app .taytay-stay-heading,
body.travelme-taytay-active #app .taytay-travel-note,
body.travelme-taytay-active #app .taytay-map,
body.travelme-taytay-active #app .taytay-tourism-maps,
body.travelme-taytay-active #app .taytay-tourism-map-card,
body.travelme-taytay-active #app .taytay-day-tours,
body.travelme-taytay-active #app #taytay-packages,
body.travelme-taytay-active #app .taytay-day-tour-grid .trip-card,
body.travelme-taytay-active #app .taytay-package-grid .trip-card,
body.travelme-taytay-active #app .taytay-day-tour-grid .trip-content,
body.travelme-taytay-active #app .taytay-package-grid .trip-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.travelme-taytay-active #app .taytay-intro,
body.travelme-taytay-active #app .taytay-section:not(.taytay-season-weather):not(:has(.taytay-hotline)),
body.travelme-taytay-active #app .taytay-map,
body.travelme-taytay-active #app .taytay-day-tour-grid .trip-bottom,
body.travelme-taytay-active #app .taytay-package-grid .trip-bottom {
  border-bottom: 0 !important;
}
body.travelme-taytay-active #app .taytay-day-tour-grid .trip-card {
  box-shadow:0 8px 22px rgba(10,57,62,.17)!important;
}
/* Taytay card details open in a compact, accessible pop-up. */
.taytay-more-details{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:0;border:0;background:transparent;color:#07877d;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer}
.taytay-more-details span{transition:transform .18s ease}
.taytay-more-details:hover span{transform:translate(2px,-2px)}
.taytay-more-details:focus-visible,.taytay-details-dialog-close:focus-visible{outline:2px solid #18b7a6;outline-offset:4px;border-radius:4px}
.taytay-details-dialog{width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(78vh,680px);padding:0;overflow:visible;border:0;border-radius:20px;background:transparent;color:#123c40;box-shadow:0 24px 80px rgba(6,39,47,.28)}
.taytay-details-dialog::backdrop{background:rgba(7,35,42,.58);backdrop-filter:blur(4px)}
.taytay-details-dialog-panel{position:relative;max-height:min(78vh,680px);overflow:auto;padding:30px clamp(22px,5vw,38px);border:1px solid rgba(255,255,255,.72);border-radius:20px;background:#fbfdfb}
.taytay-details-dialog-close{position:absolute;top:14px;right:15px;display:grid;width:36px;height:36px;place-items:center;border:1px solid #d9e8e3;border-radius:50%;background:#fff;color:#315e5a;font-size:23px;line-height:1;cursor:pointer}
.taytay-details-dialog-body h2{margin:0 42px 18px 0;color:#123c40;font:750 clamp(22px,4vw,30px)/1.15 var(--display);letter-spacing:-.03em}
.taytay-details-dialog .taytay-card-details-content{padding:0}
.taytay-details-dialog .tm-gallery{width:100%;margin:0 0 20px}
.taytay-details-dialog .tm-gallery-frame{aspect-ratio:16/9;border-radius:12px}
.taytay-details-dialog .tm-gallery-dots{padding:10px 4px 0}
.taytay-details-dialog .taytay-card-details-content>p{margin:0 0 13px;color:#476763;font-size:14px;line-height:1.75}
.taytay-details-dialog .taytay-card-detail-line b{color:#123c40}
.taytay-details-dialog .taytay-directions-link{margin:5px 0 8px}
.taytay-details-dialog .taytay-photo-note{display:block;margin-top:10px;color:#718782;font-size:11px}
@media(max-width:520px){.taytay-details-dialog{width:calc(100vw - 24px);max-height:82vh}.taytay-details-dialog-panel{max-height:82vh;padding:27px 20px;border-radius:17px}.taytay-details-dialog .taytay-card-details-content>p{font-size:13px}}
/* Keep every Taytay details pop-up label readable above page-level color themes. */
.taytay-details-dialog,.taytay-details-dialog .taytay-details-dialog-panel{color:#173b46}
.taytay-details-dialog .taytay-details-dialog-body h2{color:#123c40}
.taytay-details-dialog .taytay-card-details-content,
.taytay-details-dialog .taytay-card-details-content>p{color:#385b60}
.taytay-details-dialog .taytay-card-detail-line b{color:#163f46}
.taytay-details-dialog .taytay-directions-link,
.taytay-details-dialog .taytay-directions-link:visited{color:#087f75}
.taytay-details-dialog .taytay-photo-note{color:#647b78}
.taytay-details-dialog .tm-gallery-counter{color:#fff}
.taytay-details-dialog .taytay-details-dialog-close{color:#174b50}
/* Modal text sits on a pale surface; override Taytay's white-on-gradient theme. */
html body dialog.taytay-details-dialog[open] .taytay-details-dialog-panel,
html body dialog.taytay-details-dialog[open] .taytay-details-dialog-body,
html body dialog.taytay-details-dialog[open] .taytay-card-details-content,
html body dialog.taytay-details-dialog[open] .taytay-card-details-content p,
html body dialog.taytay-details-dialog[open] .taytay-card-details-content small{color:#31524f!important;-webkit-text-fill-color:#31524f!important;opacity:1!important;text-shadow:none!important}
html body dialog.taytay-details-dialog[open] .taytay-details-dialog-body h2,
html body dialog.taytay-details-dialog[open] .taytay-card-detail-line b{color:#123c40!important;-webkit-text-fill-color:#123c40!important}
html body dialog.taytay-details-dialog[open] .taytay-card-details-content .taytay-directions-link,
html body dialog.taytay-details-dialog[open] .taytay-card-details-content .taytay-directions-link:visited{color:#087f75!important;-webkit-text-fill-color:#087f75!important}
html body dialog.taytay-details-dialog[open] .taytay-details-dialog-close{color:#174b50!important;-webkit-text-fill-color:#174b50!important}
html body dialog.taytay-details-dialog[open] .taytay-card-details-content a.taytay-directions-link,
html body dialog.taytay-details-dialog[open] .taytay-card-details-content a.taytay-directions-link:visited{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Expand long guest reviews on demand. */
.home-review-card blockquote{display:block;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:initial}
.home-review-card blockquote.is-clamped{display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.home-review-expand{align-self:flex-start;margin:-7px 0 14px;padding:0;border:0;background:none;color:#078c83;font-family:inherit;font-size:11px;font-weight:700;line-height:1.4;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.home-review-expand:hover{color:#075e59}
.home-review-expand:focus-visible{outline:2px solid #18b7a6;outline-offset:3px;border-radius:3px}
/* Full review pop-up. */
.home-review-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(82vh,740px);padding:clamp(22px,5vw,34px);border:1px solid rgba(16,103,95,.2);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f4faf7 100%);color:#173946;box-shadow:0 28px 90px rgba(5,39,46,.3);overflow:auto}
.home-review-dialog::backdrop{background:rgba(5,31,39,.58);backdrop-filter:blur(5px)}
.home-review-dialog-top{display:flex;align-items:center;gap:12px;padding-right:42px}
.home-review-dialog-close{position:absolute;top:15px;right:15px;display:grid;width:36px;height:36px;place-items:center;border:1px solid #d9e9e3;border-radius:50%;background:#fff;color:#17434b;font-size:23px;line-height:1;cursor:pointer}
.home-review-dialog-close:hover{background:#eaf6f1;color:#078c83}
.home-review-dialog h3{margin:22px 0 10px;color:#103e49;font-size:clamp(20px,4vw,26px);line-height:1.25}
.home-review-dialog blockquote{margin:0 0 24px;color:#244d57;font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.home-review-dialog-author{display:flex;align-items:center;gap:11px;padding-top:18px;border-top:1px solid #dcebe5}
@media(max-width:520px){.home-review-dialog{border-radius:18px;padding:22px 19px}.home-review-dialog blockquote{font-size:14px}.home-review-dialog-top{gap:8px}}

/* Keep the admin navigation tabs compact when the active panel is tall. */
@media(max-width:900px){
  .admin-layout{align-content:start;grid-template-rows:auto auto}
  .admin-side{align-self:start;align-items:center;width:100%;min-width:0;height:auto;min-height:0;flex-wrap:nowrap}
  .admin-tab{align-self:center;flex:0 0 auto;height:auto;min-height:0}
}

.hotel-details-body{padding:0 15px 16px}.hotel-details-body>.field-grid{padding:0}.hotel-amenities-field{margin-top:15px}.hotel-amenities-field textarea{min-height:82px}.property-gallery-admin{margin-top:15px}.other-bed-setup[hidden]{display:none}.hotel-amenities-display{margin:10px 0;padding:12px;background:#f0f7f3;border-radius:6px;color:#36574f;font-size:10px}.hotel-amenities-display ul{display:flex;flex-wrap:wrap;gap:6px 16px;margin:7px 0 0;padding-left:16px}
/* Side-by-side hotel property and room galleries in package details */
.package-configurator .package-room-gallery{width:100%;max-width:none;margin:16px 0 0}
.package-hotel-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.package-hotel-media-card{min-width:0;padding:12px;border:1px solid #dce9e3;border-radius:9px;background:#f8fbf9}
.package-hotel-media-card .room-gallery-label{min-height:2.5em;margin:0 0 7px;color:#36574f;font-size:10px;line-height:1.35}
.package-hotel-media-card .tm-gallery{width:100%;max-width:100%;margin:0}
.package-hotel-media-card .tm-gallery-frame{aspect-ratio:4/3;border-radius:7px}
.package-hotel-media-card .tm-gallery-dots{padding:8px 3px 0}
.package-hotel-media-card .room-gallery-empty{display:grid;min-height:135px;place-items:center;padding:12px;background:#fff;font-size:10px;line-height:1.5}
.package-hotel-media-grid>.hotel-amenities-display{grid-column:1/-1;margin:0;padding:13px 15px;border:1px solid #dce9e3;background:#f0f7f3}
.hotel-amenities-empty{margin:7px 0 0;color:#70827d;font-size:10px}
@media(max-width:520px){.package-configurator .package-room-gallery{margin-top:13px}.package-hotel-media-grid{gap:8px}.package-hotel-media-card{padding:8px}.package-hotel-media-card .room-gallery-label{font-size:9px}.package-hotel-media-card .tm-gallery-arrow{width:27px;height:27px;font-size:17px}.package-hotel-media-card .tm-gallery-dots{gap:5px}.package-hotel-media-card .room-gallery-empty{min-height:115px;padding:8px;font-size:9px}.package-hotel-media-grid>.hotel-amenities-display{padding:11px}}

/* Single click-to-select calendar for package travel dates */
.travelme-date-picker{position:relative;display:grid;gap:6px;width:100%;max-width:500px;margin:16px 0 12px;color:#526a66;font-size:10px;font-weight:700}
.travelme-date-display{width:100%;min-width:0;padding:11px 38px 11px 12px;border:1px solid #dce7e1;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:11px;font-weight:500;line-height:1.4;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(18,78,72,.02)}
.travelme-date-display:focus-visible{outline:2px solid #19b6a7;outline-offset:2px}
.travelme-calendar{position:absolute;z-index:40;top:100%;left:0;width:min(100%,360px);margin-top:7px;padding:12px;border:1px solid #dce9e3;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(16,48,54,.18);color:#19394a}
.travelme-calendar[hidden]{display:none!important}
.travelme-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:10px;text-align:center}
.travelme-calendar-head strong{font-size:13px;font-weight:700}
.travelme-calendar-head button,.travelme-calendar-footer button{min-height:34px;border:1px solid #dce9e3;border-radius:8px;background:#f5faf7;color:#147f76;font-size:18px;cursor:pointer}
.travelme-calendar-weekdays,.travelme-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.travelme-calendar-weekdays{margin-bottom:5px;color:#7b8e88;font-size:9px;font-weight:700}
.travelme-calendar-weekdays span{padding:5px 0}
.calendar-blank{min-height:36px}
.calendar-day{min-width:0;min-height:36px;border:0;border-radius:8px;background:transparent;color:#19394a;font:inherit;font-size:11px;font-weight:500;cursor:pointer}
.calendar-day:hover:not(:disabled){background:#e8f5f0}
.calendar-day.is-selected{background:#13ad9e;color:#fff;font-weight:700}
.calendar-day.is-in-range{border-radius:0;background:#e1f4ef;color:#145b56}
.calendar-day:disabled{color:#c2cfca;cursor:not-allowed}
.travelme-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #e8efeb;color:#6d827c;font-size:9px;font-weight:500}
.travelme-calendar-footer button{min-height:29px;padding:0 10px;font-size:10px}
@media(max-width:520px){.travelme-date-picker{max-width:none}.travelme-calendar{width:100%;padding:10px}.calendar-day,.calendar-blank{min-height:38px}.travelme-calendar-head button{min-height:38px}}


/* Hotel and room fields stay side by side on desktop and mobile. */
.package-hotel-room-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:540px;width:100%;align-items:start}
.package-hotel-room-row>label{display:grid;min-width:0;gap:6px;margin:11px 0;color:#526a66;font-size:10px;font-weight:700}
.package-hotel-room-row select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:11px 9px;border:1px solid #dce7e1;border-radius:7px;background:#fff;color:var(--ink);font-size:11px}
@media(max-width:520px){.package-hotel-room-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.package-hotel-room-row>label{font-size:9px}.package-hotel-room-row select{padding:10px 6px;font-size:10px}}

/* Give the trip planner a clear, full-width field layout. */
.package-configurator>h2{margin-bottom:18px}
.package-configurator>label{max-width:none;margin:0 0 14px;gap:7px;font-size:11px}
.package-configurator>label select{min-height:44px;padding:11px 13px;font-size:13px}
.package-hotel-room-row{max-width:none;gap:14px}
.package-hotel-room-row>label{margin:0 0 14px;gap:7px;font-size:11px}
.package-hotel-room-row select{min-height:44px;padding:11px 13px;font-size:13px}
.travelme-date-picker{max-width:none;margin:2px 0 16px;gap:7px;font-size:11px}
.travelme-date-display{min-height:44px;padding:11px 14px;font-size:13px}
.guest-count-grid{max-width:none;gap:14px;margin:0 0 7px}
.guest-count-grid label{gap:7px;font-size:11px}
.guest-count-grid input{min-height:44px;padding:10px 13px;font-size:13px}
@media(max-width:520px){.package-hotel-room-row{gap:8px}.package-hotel-room-row>label{margin-bottom:14px;font-size:10px}.package-hotel-room-row select{min-height:44px;padding:10px 8px;font-size:12px}.guest-count-grid{gap:7px}.guest-count-grid label{font-size:9px}.guest-count-grid input{min-height:44px;padding:9px 7px;font-size:13px}}

/* Taytay history action and responsive history viewer. */
.taytay-history-action{display:flex;justify-content:flex-start;margin:0 0 18px}
.taytay-history-open{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin:0;padding:0 19px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:linear-gradient(115deg,#103b4d,#087f75 58%,#18b8a7);color:#fff;font:inherit;font-size:12px;font-weight:750;letter-spacing:.015em;cursor:pointer;box-shadow:0 8px 24px rgba(8,77,78,.2),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;overflow:hidden}
.taytay-history-open::before{position:absolute;inset:0;content:"";background:linear-gradient(110deg,transparent 24%,rgba(255,255,255,.2) 48%,transparent 68%);transform:translateX(-130%);transition:transform .6s ease}
.taytay-history-open:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 12px 28px rgba(8,77,78,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.taytay-history-open:hover::before{transform:translateX(130%)}
.taytay-history-open-icon,.taytay-history-open-arrow{position:relative;z-index:1}
.taytay-history-open-icon{font-size:15px;color:#b7f5e8}
.taytay-history-open-arrow{font-size:14px;transition:transform .2s ease}
.taytay-history-open:hover .taytay-history-open-arrow{transform:translate(2px,-2px)}
.taytay-history-open:focus-visible{outline:3px solid #20b8a8;outline-offset:3px}
.taytay-history-dialog{width:min(760px,calc(100vw - 28px));max-width:none;max-height:min(88dvh,900px);padding:0;border:0;border-radius:22px;background:transparent;color:#173e42;overflow:visible}
.taytay-history-dialog::backdrop{background:rgba(7,32,38,.68);backdrop-filter:blur(5px)}
.taytay-history-dialog .taytay-details-dialog-panel{position:relative;box-sizing:border-box;width:100%;max-height:min(88dvh,900px);padding:clamp(22px,4vw,38px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;border:1px solid rgba(255,255,255,.46);border-radius:22px;background:linear-gradient(145deg,rgba(239,250,246,.98),rgba(255,255,255,.97));box-shadow:0 26px 80px rgba(2,30,36,.3);color:#173e42}
.taytay-history-dialog .taytay-details-dialog-panel::-webkit-scrollbar{display:none;width:0;height:0}
.taytay-history-dialog .taytay-details-dialog-close{position:sticky;z-index:2;top:0;float:right;width:38px;height:38px;margin:-9px -9px 0 12px;border:1px solid rgba(18,83,78,.2);border-radius:50%;background:#fff;color:#164d4a;font-size:23px;line-height:1;cursor:pointer}
.taytay-history-dialog .taytay-details-dialog-body>h2{margin:0 48px 20px 0;color:#123e42;font-size:clamp(24px,4vw,34px);line-height:1.15;letter-spacing:-.035em}
.taytay-history-content{color:#294d50;font-size:14px;line-height:1.75}
@media(prefers-reduced-motion:reduce){.taytay-history-dialog .taytay-details-dialog-panel{scroll-behavior:auto}.taytay-history-gallery figure,.taytay-history-covers button,.taytay-history-covers img,.taytay-history-open,.taytay-history-open::before{transition:none}}
.taytay-history-content p{margin:0 0 16px;color:#294d50}.taytay-history-content>.taytay-history-intro,.taytay-history-content>section,.taytay-history-content>.taytay-history-gallery,.taytay-history-content>.taytay-history-credit{margin-left:clamp(8px,1.5vw,16px);margin-right:clamp(8px,1.5vw,16px)}
.taytay-history-content>.taytay-history-intro{margin-top:4px;margin-bottom:20px}
.taytay-history-content>section{margin-top:0;margin-bottom:22px}
.taytay-history-content>section p{max-width:72ch}
.taytay-history-content h3{margin:20px 0 8px;color:#123e42;font-size:18px}
.taytay-history-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;margin:0 0 22px}
.taytay-history-gallery figure{display:flex;min-width:0;flex-direction:column;margin:0;overflow:hidden;border:1px solid rgba(23,86,79,.12);border-radius:14px;background:#e4f0eb;box-shadow:0 6px 20px rgba(16,63,59,.12);transition:transform .28s ease,box-shadow .28s ease}
.taytay-history-gallery figure:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,63,59,.18)}
.taytay-history-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#d9e9e3}
.taytay-history-gallery figcaption{display:flex;flex:1;align-items:center;min-height:38px;padding:9px 12px;color:#355b59;font-size:11px;font-weight:650;line-height:1.4}
.taytay-history-covers{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 24px}
.taytay-history-covers button,.taytay-history-photo-trigger{position:relative;display:block;width:100%;min-width:0;padding:0;overflow:hidden;border:0;border-radius:16px;background:#d9e9e3;cursor:zoom-in;text-align:left}
.taytay-history-covers button{aspect-ratio:16/7;box-shadow:0 10px 28px rgba(16,63,59,.16);transition:transform .25s ease,box-shadow .25s ease}
.taytay-history-covers button:hover,.taytay-history-photo-trigger:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(16,63,59,.22)}
.taytay-history-covers img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .35s ease}
.taytay-history-covers button:hover img{transform:scale(1.04)}
.taytay-history-covers button>span{position:absolute;inset:auto 0 0;padding:27px 12px 11px;background:linear-gradient(transparent,rgba(4,34,39,.82));color:#fff;font-size:11px;font-weight:700;line-height:1.3}
.taytay-history-photo-trigger{border-radius:0;background:transparent;transition:transform .2s ease,box-shadow .2s ease}
.taytay-history-photo-trigger img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#d9e9e3}
.taytay-photo-viewer{width:min(1100px,calc(100vw - 30px));max-width:none;max-height:94dvh;padding:0;border:0;border-radius:22px;background:transparent;color:#fff;overflow:visible}
.taytay-photo-viewer::backdrop{background:rgba(2,15,20,.9);backdrop-filter:blur(7px)}
.taytay-photo-viewer-panel{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:12px;box-sizing:border-box;width:100%;max-height:94dvh;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(7,27,34,.96);box-shadow:0 25px 80px rgba(0,0,0,.45)}
.taytay-photo-viewer figure{display:flex;min-width:0;max-height:calc(94dvh - 100px);flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0}
.taytay-photo-viewer figure img{display:block;max-width:100%;max-height:calc(94dvh - 150px);object-fit:contain;border-radius:12px}
.taytay-photo-viewer figcaption{color:#f4fbfa;font-size:13px;text-align:center}
.taytay-photo-viewer-close,.taytay-photo-viewer-nav{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:28px;cursor:pointer;transition:background .18s ease,transform .18s ease}
.taytay-photo-viewer-close:hover,.taytay-photo-viewer-nav:hover{transform:scale(1.06);background:rgba(255,255,255,.24)}
.taytay-photo-viewer-close{position:absolute;top:12px;right:12px;z-index:1}
.taytay-photo-viewer-count{grid-column:1/-1;margin:0;color:#c7e7e5;font-size:12px;text-align:center}
.taytay-history-credit{margin-top:20px!important;padding-top:14px;border-top:1px solid rgba(20,88,81,.16);font-size:12px;font-weight:650}
.taytay-history-credit a{color:#087f75;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.taytay-history-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:560px){.taytay-history-action{margin-bottom:15px}.taytay-history-open{width:100%;min-height:46px;padding:0 15px;font-size:12px}.taytay-history-dialog{width:calc(100vw - 20px);max-height:90dvh}.taytay-history-dialog .taytay-details-dialog-panel{max-height:90dvh;padding:21px 17px;border-radius:18px}.taytay-history-gallery{gap:8px}.taytay-history-gallery figcaption{min-height:34px;padding:8px;font-size:10px}.taytay-history-content{font-size:13px}.taytay-history-content>.taytay-history-intro,.taytay-history-content>section,.taytay-history-content>.taytay-history-gallery,.taytay-history-content>.taytay-history-credit{margin-left:4px;margin-right:4px}.taytay-history-content>.taytay-history-intro{margin-top:2px;margin-bottom:18px}.taytay-history-content>section{margin-bottom:19px}.taytay-history-covers{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:20px}.taytay-history-covers button{aspect-ratio:4/3}.taytay-history-covers button>span{padding:22px 9px 8px;font-size:10px}.taytay-photo-viewer{width:calc(100vw - 14px);max-height:94dvh}.taytay-photo-viewer-panel{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px;padding:14px 8px 12px;border-radius:16px}.taytay-photo-viewer figure{max-height:86dvh}.taytay-photo-viewer figure img{max-height:78dvh}.taytay-photo-viewer-nav,.taytay-photo-viewer-close{width:34px;height:34px;font-size:23px}.taytay-photo-viewer-close{top:7px;right:7px}}
@media(max-width:360px){.taytay-history-gallery{grid-template-columns:minmax(0,1fr)}}

/* Keep the history popup's inner padding visible while its long content scrolls. */
html body dialog.taytay-history-dialog[open]{box-sizing:border-box;height:min(88dvh,900px);max-height:88dvh;overflow:hidden}
html body dialog.taytay-history-dialog[open] .taytay-details-dialog-panel{box-sizing:border-box;display:flex;flex-direction:column;height:min(88dvh,900px);max-height:88dvh;min-height:0;padding:clamp(18px,3.5vw,30px);overflow:hidden}
html body dialog.taytay-history-dialog[open] .taytay-history-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 10px 30px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
html body dialog.taytay-history-dialog[open] .taytay-history-scroll::-webkit-scrollbar{display:none;width:0;height:0}
html body dialog.taytay-history-dialog[open] .taytay-details-dialog-close{position:absolute;top:14px;right:14px;float:none;margin:0}
html body dialog.taytay-history-dialog[open] .taytay-details-dialog-body>h2{margin:0 50px 20px 0;padding-top:2px}
@media(max-width:560px){html body dialog.taytay-history-dialog[open]{height:90dvh;max-height:90dvh}html body dialog.taytay-history-dialog[open] .taytay-details-dialog-panel{height:90dvh;max-height:90dvh;padding:15px 13px;border-radius:18px}html body dialog.taytay-history-dialog[open] .taytay-history-scroll{padding:8px 8px 28px}html body dialog.taytay-history-dialog[open] .taytay-details-dialog-close{top:10px;right:10px}}

/* Keep the Home review rail responsive to touch, trackpads, and mouse wheels. */
.home-review-rail {
  scroll-snap-type: x proximity;
  scroll-snap-stop: normal;
  scroll-behavior: auto;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.home-review-card { scroll-snap-stop: normal; }

/* Place the review dialog close control beside its rating and source. */
.home-review-dialog-top {
  padding-right: 0;
}
.home-review-dialog-close {
  position: static;
  flex: 0 0 36px;
  margin-left: auto;
}

@media (max-width: 650px) {
  .home-review-rail,
  .home-review-rail:focus,
  .home-review-rail:focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
  }
}

/* Reviews move like a continuous social feed: native momentum, no card-by-card snapping. */
.home-review-rail {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  -webkit-overflow-scrolling: touch;
}
.home-review-rail > .home-review-card {
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

/* All public horizontal card rails use continuous native scrolling, without snapping card-by-card. */
.home-destination-rail,
.home-review-rail,
#taytay-destinations .taytay-card-grid,
#taytay-accommodations .taytay-stay-group .taytay-card-grid,
#taytay-restaurants .taytay-card-grid,
#taytay-day-tours .taytay-day-tour-grid,
#taytay-packages .taytay-card-grid {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  -webkit-overflow-scrolling: touch;
}
.home-destination-rail > *,
.home-review-rail > *,
#taytay-destinations .taytay-info-card,
#taytay-accommodations .taytay-info-card,
#taytay-restaurants .taytay-info-card,
#taytay-day-tours .trip-card,
#taytay-packages .trip-card {
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

/* Mobile call to action below the horizontally browsable home reviews. */
.home-reviews-mobile-link{display:none}
@media(max-width:650px){.home-reviews-mobile-link{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:18px auto 0;padding:11px 17px;border:1px solid rgba(17,133,122,.22);border-radius:999px;background:rgba(255,255,255,.78);color:#087f75;font-size:12px;font-weight:750;text-decoration:none;box-shadow:0 5px 16px rgba(16,76,72,.08)}.home-reviews-mobile-link span{font-size:15px;transition:transform .2s ease}.home-reviews-mobile-link:hover span{transform:translateX(3px)}}

/* Center-focused motion for the vertical reviews feed on phones. */
@media(max-width:760px){
  #app .public-review-grid .public-review-card{
    --review-focus-scale:.84;
    --review-focus-opacity:.78;
    transform:scale(var(--review-focus-scale)) !important;
    transform-origin:center center;
    opacity:var(--review-focus-opacity);
    transition:transform .18s ease-out,opacity .18s ease-out,box-shadow .2s ease-out;
    will-change:transform,opacity;
  }
  #app .public-review-grid .public-review-card[hidden]{display:none}
}
@media(prefers-reduced-motion:reduce){#app .public-review-grid .public-review-card{transition:none!important}}
.travelme-tour-detail-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);background:rgba(5,25,31,.68);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.travelme-tour-detail-modal{position:relative;width:min(1180px,100%);max-height:min(92dvh,980px);overflow:auto;overscroll-behavior:contain;background:var(--paper,#fdfcf9);border:1px solid rgba(255,255,255,.72);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.3);scrollbar-width:thin;scrollbar-color:#9cbdb5 transparent}
.travelme-tour-detail-modal-content{padding:0 0 24px}
.travelme-tour-detail-modal-content>.tour-hero{min-height:clamp(250px,34vw,390px);border-radius:20px 20px 0 0;overflow:hidden}
.travelme-tour-detail-modal-content>.tm-gallery{margin-top:22px}
.travelme-tour-detail-modal-content>.package-detail-layout{width:min(1080px,calc(100% - 48px));max-width:none;box-sizing:border-box;margin:24px auto 0;grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:clamp(20px,3vw,42px)}
.travelme-tour-detail-modal-content>.package-detail-layout .tour-main{padding-top:0}
.travelme-tour-detail-modal-content>.package-detail-layout .package-summary-card{top:18px;margin-top:0}
.travelme-tour-detail-modal-content>.bottom-cta{width:min(1080px,calc(100% - 48px));margin:28px auto 0}
.travelme-tour-detail-modal-close{position:sticky;top:12px;z-index:6;float:right;margin:12px 12px -54px 0;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(214,228,223,.9);border-radius:50%;background:rgba(255,255,255,.96);color:#123b3d;font-size:25px;line-height:1;box-shadow:0 4px 18px rgba(0,0,0,.16);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.travelme-tour-detail-modal-close:hover{background:#18b6a5;color:#fff;transform:scale(1.04)}
@media(max-width:760px){.travelme-tour-detail-modal-backdrop{align-items:stretch;padding:0;background:rgba(5,25,31,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.travelme-tour-detail-modal{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.travelme-tour-detail-modal-content{padding:0 0 24px}.travelme-tour-detail-modal-content>.tour-hero{min-height:clamp(250px,48vh,390px);border-radius:0}.travelme-tour-detail-modal-content>.package-detail-layout{width:calc(100% - 28px);grid-template-columns:minmax(0,1fr);gap:8px;margin-top:18px}.travelme-tour-detail-modal-content>.package-detail-layout .package-summary-card{grid-row:1;position:static;margin:8px 0 14px}.travelme-tour-detail-modal-content>.package-detail-layout .package-detail-main{grid-row:2}.travelme-tour-detail-modal-content>.tm-gallery{width:calc(100% - 28px);margin:16px auto 20px}.travelme-tour-detail-modal-content>.bottom-cta{width:calc(100% - 28px)}.travelme-tour-detail-modal-close{top:10px;margin:10px 10px -52px 0;width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.travelme-tour-detail-modal-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.travelme-tour-detail-modal-close{transition:none}}

/* Keep mobile browsers from enlarging the page when visitors focus a form field. */
@media (max-width: 760px) {
  input,
  select,
  textarea,
  [contenteditable="true"] {
    font-size: 16px !important;
  }
}

/* Keep the mobile close control clear of the diagonal sale ribbon. */
@media (max-width: 760px) {
  .travelme-tour-detail-modal-close {
    float: left;
    margin: 10px 0 -52px 10px;
  }
}

/* A clearer, more contemporary navigation that keeps the TravelMe colors. */
.header .nav {
  gap: 4px;
  margin-right: 0;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(5,39,49,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.header .nav a {
  position: relative;
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(245,251,249,.86);
  font-weight: 600;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.header .nav a:hover {
  transform: translateY(-1px);
  color: #fff;
  background: rgba(255,255,255,.12);
}
.header .nav a.active {
  color: #073b3b;
  border-color: rgba(255,255,255,.38);
  background: linear-gradient(135deg, #b9f3e8, #fff 78%);
  box-shadow: 0 5px 15px rgba(1,30,37,.16), inset 0 1px 0 rgba(255,255,255,.9);
}
.header .nav a:focus-visible,
.header .menu-toggle:focus-visible {
  outline: 3px solid #b9f3e8;
  outline-offset: 3px;
}
.header .menu-toggle {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(5,39,49,.16);
  color: #fff;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.header .menu-toggle:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.15);
  box-shadow: 0 6px 18px rgba(3,34,40,.2);
}
@media (max-width: 760px) {
  .header .nav,
  .header .nav.open {
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    gap: 5px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(12,51,67,.97), rgba(9,119,108,.97));
    box-shadow: 0 18px 40px rgba(5,32,39,.28);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }
  .header .nav a,
  .header .nav a.active {
    min-height: 46px;
    justify-content: flex-start;
    padding: 0 15px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #eef9f6;
    background: transparent;
    box-shadow: none;
  }
  .header .nav a:hover {
    transform: none;
    background: rgba(255,255,255,.1);
  }
  .header .nav a.active {
    border-color: rgba(170,240,225,.2);
    background: rgba(185,243,232,.16);
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header .nav a,
  .header .menu-toggle { transition: none; }
}

/* Taytay cover identity marks */
.taytay-hero-brandmarks{position:absolute;z-index:2;right:clamp(20px,5vw,72px);bottom:clamp(20px,4vw,42px);display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.18);box-shadow:0 12px 34px rgba(4,30,35,.25);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.taytay-hero-brandmark{display:block;width:clamp(62px,7vw,86px);height:clamp(62px,7vw,86px);object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}
.taytay-hero-brandmark--seal{padding:3px;border-radius:50%;background:#fff}
.taytay-hero-brandmark--bagong{border-radius:50%;object-fit:cover}
@media(max-width:700px){.taytay-hero{min-height:450px;padding:52px 22px 132px}.taytay-hero-copy{margin:auto;text-align:center}.taytay-hero-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.taytay-hero-brandmarks{right:auto;left:50%;bottom:18px;transform:translateX(-50%);gap:9px;padding:7px 10px;border-radius:18px}.taytay-hero-brandmark{width:58px;height:58px}}
/* Taytay page related package shelf */
.taytay-related-packages{width:min(var(--wrap),calc(100% - 48px));margin:clamp(20px,3vw,36px) auto clamp(42px,6vw,78px);border-top:1px solid rgba(13,80,83,.24);padding-top:clamp(20px,3vw,30px)}
.taytay-related-heading{margin:0 0 18px}
.taytay-related-heading .eyebrow{margin-bottom:9px}
.taytay-related-heading h2{margin:0 0 8px;font:600 clamp(27px,3vw,38px)/1.12 var(--display);letter-spacing:-.045em;color:var(--deep)}
.taytay-related-heading>p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.taytay-related-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:5px 3px 16px;scrollbar-width:none}
.taytay-related-track::-webkit-scrollbar{display:none}
.taytay-related-track>.trip-card{flex:0 0 clamp(218px,22vw,260px);min-width:0}
.taytay-related-track .trip-photo{display:block;height:clamp(135px,15vw,164px);aspect-ratio:auto}.taytay-related-track .reference-trip-content{min-height:0;padding:13px 14px}.taytay-related-track .reference-trip-bottom{flex-wrap:wrap;gap:8px}
@media(max-width:640px){.taytay-related-packages{width:calc(100% - 32px);margin:20px auto 42px;padding-top:20px}.taytay-related-heading{margin-bottom:14px}.taytay-related-track{gap:12px;margin-inline:-2px;padding:4px 2px 13px}.taytay-related-track>.trip-card{flex-basis:min(66vw,235px)}.taytay-related-track .trip-photo{height:clamp(120px,38vw,150px)}}

/* Taytay cover logos: preserve desktop placement; center below the subtitle on mobile. */
.taytay-hero-brandmarks{position:absolute;z-index:2;right:clamp(20px,5vw,72px);bottom:clamp(20px,4vw,42px);left:auto;display:flex;align-items:center;justify-content:center;gap:12px;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
.taytay-hero-brandmark{display:block;width:clamp(62px,7vw,86px);height:clamp(62px,7vw,86px);padding:3px;object-fit:contain;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:rgba(255,255,255,.94);filter:drop-shadow(0 3px 7px rgba(0,0,0,.2))}
.taytay-hero-brandmark--seal{background:#fff;object-fit:contain}
.taytay-hero-brandmark--bagong{object-fit:cover}
@media(max-width:700px){.taytay-hero{min-height:clamp(450px,112vw,560px);flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:36px 20px}.taytay-hero-copy{width:100%;margin:0;text-align:center}.taytay-hero-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.taytay-hero-brandmarks{position:relative;right:auto;bottom:auto;left:auto;gap:10px;margin:0 auto;transform:none}.taytay-hero-brandmark{width:66px;height:66px}}

/* Subtle premium motion for the header TravelMe wordmark. */
.header .brand img{transform-origin:left center;animation:travelme-brand-arrive .7s cubic-bezier(.2,.75,.25,1) both;transition:transform .28s cubic-bezier(.2,.75,.25,1),filter .28s ease}
.header .brand:hover img,.header .brand:focus-visible img{transform:scale(1.035);filter:drop-shadow(0 3px 8px rgba(20,170,155,.28))}
@keyframes travelme-brand-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.header .brand img{animation:none;transition:none}}

/* Taytay visitor essentials */
.taytay-visitor-essentials{margin-top:clamp(28px,4vw,54px);padding-top:clamp(22px,3vw,34px);border:0}
.taytay-visitor-essentials .section-head{margin-bottom:18px}
.taytay-visitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.8vw,22px)}
.taytay-visitor-card{min-width:0;padding:17px 18px;border:0;background:transparent}
.taytay-visitor-card h3{margin:0 0 10px;color:var(--deep);font:650 clamp(15px,1.35vw,18px)/1.25 var(--display)}
.taytay-visitor-card ul{margin:0;padding-left:18px;color:var(--ink);font-size:14px;line-height:1.65}
.taytay-visitor-card li+li{margin-top:4px}
.taytay-visitor-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
body.travelme-taytay-active .taytay-visitor-card h3{color:#073b3b}
body.travelme-taytay-active .taytay-visitor-card ul{color:#123d43}
body.travelme-taytay-active .taytay-visitor-empty{color:#42666a}
.taytay-visitor-admin .taytay-admin-collapse-summary{flex-wrap:wrap;justify-content:flex-start}
.taytay-visitor-admin .taytay-admin-collapse-summary h2{flex:1 1 auto}
.taytay-visitor-admin .taytay-admin-collapse-summary>span{flex:0 1 auto;color:var(--muted);font-size:12px}
.taytay-visitor-admin .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.taytay-visitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.taytay-visitor-grid{gap:8px}.taytay-visitor-card{padding:13px 12px}.taytay-visitor-card ul{font-size:13px}.taytay-visitor-admin .field-grid{grid-template-columns:1fr}}


/* Taytay seasonal travel guide */
.taytay-container .taytay-section.taytay-season-weather{
  padding:clamp(18px,4vw,42px);
  border:1px solid #a8cdc4;
  border-radius:24px;
  background:#edf7f2;
  color:#143f43;
}
.taytay-season-weather .section-head{margin-bottom:clamp(16px,2.4vw,26px)}
.taytay-season-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.taytay-season-card{
  --season-accent:#805317;
  --season-icon-bg:#fff0cb;
  border:1px solid #bfd4cd;
  border-radius:16px;
  background:#fff;
}
.taytay-season-card--wet{--season-accent:#215d73;--season-icon-bg:#e1f2fb}
.taytay-season-card[open]{border-color:var(--season-accent)}
.taytay-season-toggle{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:15px;
  cursor:pointer;
  list-style:none;
  transition:background-color .16s ease;
}
.taytay-season-toggle::-webkit-details-marker{display:none}
.taytay-season-toggle:hover{background:#f3f8f6}
.taytay-season-toggle:focus-visible,.taytay-season-source:focus-visible{outline:2px solid #216b66;outline-offset:3px}
.taytay-season-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--season-icon-bg);
  color:var(--season-accent);
  font:24px/1 "Segoe UI Symbol",sans-serif;
}
.taytay-season-label{color:#375a5c;font-size:13px;line-height:1.35}
.taytay-season-label strong{display:block;margin-top:3px;color:#103f42;font:750 clamp(17px,2vw,22px)/1.2 var(--display);overflow-wrap:anywhere}
.taytay-season-chevron{
  width:9px;
  height:9px;
  margin:0 4px;
  border:solid var(--season-accent);
  border-width:0 2px 2px 0;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .16s ease;
}
.taytay-season-card[open] .taytay-season-chevron{transform:translateY(2px) rotate(225deg)}
.taytay-season-description{margin:0;padding:0 16px 16px;color:#284f52;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.taytay-season-advisory{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px 24px;
  flex-wrap:wrap;
  margin-top:14px;
  padding:14px 16px;
  border-radius:12px;
  background:#dceee7;
}
.taytay-season-advisory div{flex:1 1 360px;min-width:0}
.taytay-season-advisory p{margin:4px 0 0;color:#284f52;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.taytay-season-source{
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:100%;
  min-height:44px;
  color:#135653;
  font-size:13px;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
@media(max-width:640px){
  .taytay-season-grid{grid-template-columns:1fr}
  .taytay-season-advisory{gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .taytay-season-toggle,.taytay-season-chevron{transition:none}
}

/* Taytay major events calendar */
.taytay-events{
  margin:clamp(24px,5vw,52px) 0;
  padding:clamp(18px,4vw,44px);
  border:1px solid #a5c9c1;
  border-radius:26px;
  background:linear-gradient(145deg,#e5f4ee,#f7f4e8);
  color:#143f43;
}
.taytay-events-heading{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.taytay-events-heading h2{margin:4px 0 0;color:#123c40;font:800 clamp(29px,5vw,51px)/1.08 var(--display);letter-spacing:-.035em}
.taytay-events-heading p{margin:8px 0 0;color:#315b58;font-size:14px;line-height:1.5}
.taytay-events-heading .eyebrow{color:#08746a;font-size:11px}
.taytay-events-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#315b58}
.taytay-events-filter label,.taytay-events-count{font-size:13px}
.taytay-events-filter select{max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #8eb8ae;border-radius:9px;background:#fff;color:#124a47;font:700 14px var(--sans)}
.taytay-events-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,1.2vw,12px)}
.taytay-event{min-width:0;overflow:hidden;border:1px solid #b6d2c8;border-radius:17px;background:#fff;color:#244c4c}
.taytay-event[hidden]{display:none}
.taytay-event-photo{position:relative;display:flex;align-items:end;min-height:90px;aspect-ratio:8/5;padding:12px;background:#276b65 url("assets/travelme-route-icon.png") center/54px no-repeat}
.taytay-event-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.taytay-event-date{position:relative;max-width:100%;padding:6px 10px;border-radius:8px;background:#fff2cb;color:#523912;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.taytay-event-card{padding:16px;overflow-wrap:anywhere}
.taytay-event-card h3{margin:4px 0 8px;color:#103f42;font:800 clamp(17px,2.2vw,23px)/1.2 var(--display)}
.taytay-event-card p{margin:0;font-size:14px;line-height:1.5}
.taytay-event-card .taytay-event-place{color:#246c62;font-size:12px;font-weight:750}
.taytay-events-empty{grid-column:1/-1;margin:0;padding:16px;border-radius:10px;background:#fff}
.taytay-events-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 20px;margin-top:14px}
.taytay-events-footer p{margin:0;color:#315b58;font-size:13px;line-height:1.5}
.taytay-events-footer a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#10584f;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.taytay-events-filter select:focus-visible,.taytay-events-footer a:focus-visible{outline:2px solid #10584f;outline-offset:3px}
.taytay-event-editor{margin:0 0 8px;border:1px solid #b6d2c8;border-radius:12px;background:#fff}
.taytay-event-summary{padding:10px 14px;cursor:pointer;overflow-wrap:anywhere}
.taytay-event-summary strong{margin-left:6px;color:#123c40}
.taytay-event-summary span{margin-left:10px;color:#42666a;font-size:12px}
.taytay-event-summary:focus-visible{outline:2px solid #10584f;outline-offset:2px;border-radius:10px}
.taytay-event-editor-body{display:grid;gap:10px;padding:14px;border-top:1px solid #dcebe6}
.taytay-event-editor .btn-outline{justify-self:start}
.taytay-event-annual{display:flex;gap:8px;align-items:center;font-size:13px}
@media(max-width:767px){.taytay-events-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Taytay travel and transport guide */
.taytay-transport{
  margin:clamp(24px,5vw,52px) 0;
  padding:clamp(20px,5vw,52px);
  border-radius:26px;
  border:1px solid #a5c9c1;
  background:radial-gradient(ellipse at 0 0,#c8e8de,transparent 65%),linear-gradient(145deg,#e5f4ee,#f7f4e8);
  color:#143f43;
}
.taytay-transport-heading{text-align:center}
.taytay-transport-heading h2{margin:0;color:#123c40;font:800 clamp(29px,5vw,52px)/1.08 var(--display);letter-spacing:-.035em}
.taytay-transport-heading p{margin:12px auto 0;max-width:48ch;color:#315b58;font-size:15px;line-height:1.55}
.taytay-transport-options{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:center;
  gap:8px;
  min-width:0;
  margin:22px 0 0;
  padding:0;
  border:0;
}
.taytay-transport-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.taytay-transport-options>label{
  display:grid;
  place-items:center;
  min-height:44px;
  padding:8px clamp(9px,2.6vw,20px);
  border:1px solid #8eb8ae;
  border-radius:100px;
  color:#143f43;
  font-size:14px;
  font-weight:750;
  text-align:center;
  cursor:pointer;
}
.taytay-transport-options>label[for="taytay-transport-air"]{justify-self:end}
.taytay-transport-options>label[for="taytay-transport-road"]{justify-self:center}
.taytay-transport-options>label[for="taytay-transport-boat"]{justify-self:start}
.taytay-transport-options>label:hover{background:#ffffffa6}
.taytay-transport-radio:checked+label{border-color:#10584f;background:#10584f;color:#fff}
.taytay-transport-radio:focus-visible+label,.taytay-transport-copy a:focus-visible{outline:2px solid #10584f;outline-offset:3px}
.taytay-transport-panels{grid-column:1/-1;min-width:0;margin-top:12px}
.taytay-transport-panel{
  display:none;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:center;
  gap:clamp(16px,4vw,38px);
}
#taytay-transport-air:checked~.taytay-transport-panels #taytay-transport-panel-air,
#taytay-transport-road:checked~.taytay-transport-panels #taytay-transport-panel-road,
#taytay-transport-boat:checked~.taytay-transport-panels #taytay-transport-panel-boat{display:grid}
.taytay-transport-panel img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border:1px solid #8eb8ae;border-radius:18px;background:#d2e8e0}
.taytay-transport-copy{min-width:0}
.taytay-transport-copy h3{margin:0;color:#123c40;font:800 clamp(21px,3.2vw,32px)/1.16 var(--display)}
.taytay-transport-copy ol{margin:12px 0 4px;padding-left:22px;color:#315b58;font-size:14px;line-height:1.65}
.taytay-transport-copy li+li{margin-top:8px}
.taytay-transport-copy li::marker{color:#10584f;font-weight:800}
.taytay-transport-copy a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#10584f;font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.taytay-transport-panel{grid-template-columns:minmax(0,1fr)}}

/* Taytay destination carousel */
.taytay-destination-controls{display:none}
@media(min-width:901px){
  .taytay-destination-controls:not([hidden]){display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}
  .taytay-destination-controls button{
    display:grid;place-items:center;width:44px;height:44px;padding:0;
    border:1px solid #79a8a1;border-radius:50%;background:#edf7f2;color:#143f43;
    font-size:24px;line-height:1;cursor:pointer;
  }
  .taytay-destination-controls button:hover{background:#d2e8e0}
  .taytay-destination-controls button:focus-visible{outline:2px solid #10584f;outline-offset:2px}
}
#taytay-destinations .taytay-destination-rail{
  position:relative;
  display:grid;
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 32px) / 3);
  gap:16px;
  overflow-x:auto;
  padding:4px 4px 16px;
  margin:0 -4px;
  scroll-padding-inline:4px;
  scroll-snap-type:none!important;
  overscroll-behavior-inline:contain;
}
#taytay-destinations .taytay-destination-rail>.taytay-info-card{min-width:0}
@media(max-width:900px){#taytay-destinations .taytay-destination-rail{grid-auto-columns:calc((100% - 16px) / 2)}}
@media(max-width:640px){#taytay-destinations .taytay-destination-rail{grid-auto-columns:min(84%,340px)}}

/* Visitor display currency */
.travelme-currency-control{flex:0 0 auto}
.travelme-currency-control[hidden]{display:none}
.header .travelme-currency{
  flex:0 0 auto;
  width:82px;
  min-height:44px;
  padding:7px 8px;
  border:1px solid #b9e0d7;
  border-radius:999px;
  background:#f0faf6;
  color:#114b47;
  font:750 13px var(--sans);
  text-overflow:clip;
  cursor:pointer;
}
.header .travelme-currency:focus-visible{outline:2px solid #b9f3e8;outline-offset:3px}
.travelme-currency-note{
  margin:0;
  padding:8px 16px;
  background:#e5f4ee;
  color:#143f43;
  font:600 12px/1.5 var(--sans);
  text-align:center;
}
.footer > .travelme-currency-note { margin-bottom: clamp(16px, 2vw, 28px); }
.travelme-currency-note a{color:#10584f;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.header .travelme-currency-control{margin-left:auto}.header .travelme-currency-control+.menu-toggle{margin-left:0}}


.header .travelme-language{
  flex:0 0 auto;
  width:86px;
  min-height:44px;
  padding:7px 8px;
  border:1px solid #b9e0d7;
  border-radius:999px;
  background:#f0faf6;
  color:#114b47;
  font:750 13px var(--sans);
  cursor:pointer;
}
.header .travelme-language:focus-visible{outline:2px solid #b9f3e8;outline-offset:3px}
.header .travelme-language+.menu-toggle{margin-left:0}
@media(max-width:1050px) and (min-width:761px){
  .header{gap:10px}
  .header .nav a{padding-inline:9px}
}
@media(max-width:420px){
  .header{gap:5px}
  .header .brand img{width:min(105px,29vw)}
  .header .travelme-currency{width:66px;padding-inline:5px}
  .header .travelme-language{width:74px;padding-inline:5px}
}

.travelme-preference{position:relative;flex:0 0 auto}
.travelme-preference:has(>select[hidden]){display:none}
.travelme-preference[data-enhanced]>select{display:none}
.travelme-preference-current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-height:44px;
  padding:6px 10px;
  border:1px solid #b9e0d7;
  border-radius:999px;
  background:#f0faf6;
  color:#114b47;
  font:750 13px var(--sans);
  cursor:pointer;
  list-style:none;
}
.travelme-preference-current::-webkit-details-marker{display:none}
.travelme-preference-current::after{content:"";width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translateY(-2px)}
.travelme-preference[open] .travelme-preference-current::after{transform:rotate(225deg) translateY(-2px)}
.travelme-preference-panel{
  position:absolute;
  z-index:4;
  top:calc(100% + 8px);
  right:0;
  width:min(228px,calc(100vw - 36px));
  padding:6px;
  border:1px solid #b9e0d7;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 26px #092e3533;
}
.travelme-preference-search{width:100%;min-height:40px;padding:7px 9px;margin-bottom:4px;border:1px solid #a5c9c1;border-radius:8px;color:#114b47;font:inherit}
.travelme-preference-options{display:grid;gap:2px;max-height:min(270px,50vh);overflow-y:auto}
.travelme-preference-options button{
  min-height:42px;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#114b47;
  font:650 13px var(--sans);
  text-align:left;
  cursor:pointer;
}
.travelme-preference-options button[hidden],.travelme-preference-empty[hidden]{display:none}
.travelme-preference-options button:hover{background:#eaf5ef}
.travelme-preference-options button[aria-pressed="true"]{background:#d8efe7;color:#0b514b;font-weight:800}
.travelme-preference-current:focus-visible,.travelme-preference-options button:focus-visible,.travelme-preference-search:focus-visible{outline:2px solid #17877c;outline-offset:-2px}
.travelme-preference-empty{margin:6px;color:#42666a;font-size:13px}
.header .travelme-preference+.menu-toggle{margin-left:0}
@media(max-width:540px){.travelme-currency-control .travelme-preference-panel{right:-70px}}
@media(max-width:420px){.travelme-preference-current{padding-inline:7px;font-size:12px}}

/* TravelMe trip cart */
.travelme-cart-button{
  position:relative;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border:1px solid #b9e0d7;
  border-radius:50%;
  background:#f0faf6;
  color:#114b47;
  font-size:19px;
  cursor:pointer;
}
.travelme-cart-button[hidden],.travelme-cart [hidden],.travelme-cart-count[hidden]{display:none!important}
.travelme-cart-count{
  position:absolute;
  top:-4px;
  right:-4px;
  display:grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 3px;
  border:1px solid #fff;
  border-radius:999px;
  background:#10584f;
  color:#fff;
  font:800 11px var(--sans);
}
.travelme-cart-button:focus-visible,.travelme-cart button:focus-visible,.travelme-cart a:focus-visible{outline:2px solid #27a498;outline-offset:3px}
.travelme-cart{
  width:min(520px,calc(100% - 24px));
  max-width:none;
  max-height:min(720px,calc(100dvh - 24px));
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid #a5c9c1;
  border-radius:24px;
  background:#edf7f2;
  color:#143f43;
  box-shadow:0 18px 60px #092e3544;
}
.travelme-cart[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.travelme-cart::backdrop{background:#092e3588}
.travelme-cart-heading,.travelme-cart-footer{padding:16px 18px;background:#fff}
.travelme-cart-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d7eae2}
.travelme-cart-heading h2{margin:0;color:#103f42;font:800 clamp(22px,5vw,28px)/1.15 var(--display)}
.travelme-cart-heading button{width:44px;height:44px;border:1px solid #b9e0d7;border-radius:50%;background:#edf7f2;color:#10584f;font-size:23px;cursor:pointer}
.travelme-cart-body{overflow-y:auto;overscroll-behavior:contain;padding:14px 18px}
.travelme-cart-item{margin-bottom:12px;overflow:hidden;border:1px solid #b6d2c8;border-radius:14px;background:#fff}
.travelme-cart-item:last-child{margin-bottom:0}
.travelme-cart-item-main{display:flex;align-items:flex-start;gap:10px;padding:13px}
.travelme-cart-item-main input{width:18px;height:18px;margin-top:2px;accent-color:#10584f}
.travelme-cart-item h3,.travelme-cart-empty h3{margin:0;color:#103f42;font:800 16px/1.25 var(--display)}
.travelme-cart-item ul{display:grid;gap:2px;margin:7px 0 0;padding:0;list-style:none;color:#42666a;font-size:13px}
.travelme-cart-item-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 13px;border-top:1px solid #d7eae2}
.travelme-cart-item-footer button{min-height:40px;padding:0 8px;border:0;background:transparent;color:#10584f;font:750 13px var(--sans);cursor:pointer}
.travelme-cart-item-footer button:disabled{opacity:.5;cursor:default}
.travelme-cart-unavailable{margin:6px 0 0;color:#8b4c41;font-size:13px}
.travelme-cart-empty{padding:26px 12px;text-align:center}
.travelme-cart-empty p,.travelme-cart-footer p{margin:6px 0 0;color:#42666a;font-size:13px;line-height:1.5}
.travelme-cart-footer{border-top:1px solid #d7eae2}
.travelme-cart-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}
.travelme-cart-total strong{color:#10584f;font:800 18px var(--display)}
.travelme-cart-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.travelme-cart-actions>*{flex:1 1 auto;justify-content:center;text-align:center}
.travelme-tour-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 8px}
.travelme-tour-actions>*{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;text-align:center;white-space:normal}
.travelme-tour-actions .travelme-add-cart{border-color:#8eb8ae;color:#10584f;background:#f0faf6}
.travelme-tour-actions .travelme-add-cart:hover{background:#d8efe7}
@media(max-width:420px){
  .header .brand img{width:min(86px,24vw)}
  .travelme-cart-button{width:38px;height:38px;font-size:17px}
}

body:has(#package-booking) .floating-contact{display:none!important}

.travelme-translation-status{margin:0;padding:9px 16px;background:#e5f4ee;color:#143f43;font:650 13px/1.5 var(--sans);text-align:center}


/* TravelMe booking management */
.travelme-manage-booking{padding:clamp(28px,6vw,72px) 14px;background:linear-gradient(145deg,#dcefe8,#f7f4e8);min-height:65vh}
.travelme-booking-shell{max-width:720px;margin:auto}
.travelme-booking-shell header{margin-bottom:20px;color:#315b58}
.travelme-booking-shell h1{margin:5px 0 8px;color:#123c40;font:800 clamp(30px,6vw,54px)/1.08 var(--display)}
.travelme-booking-panel{padding:clamp(16px,4vw,28px);border:1px solid #b6d2c8;border-radius:20px;background:#fff;color:#143f43;box-shadow:0 12px 34px #123c4014}
.travelme-booking-form,.travelme-booking-form label{display:grid;gap:8px}
.travelme-booking-form{gap:14px}
.travelme-booking-form label{font-size:14px;font-weight:700}
.travelme-booking-form input,.travelme-booking-form textarea{width:100%;min-height:44px;padding:9px 12px;border:1px solid #a5c9c1;border-radius:10px;background:#f5faf8;color:#143f43;font:inherit}
.travelme-booking-form button,.travelme-booking-buttons a,.travelme-booking-buttons button{min-height:44px;justify-content:center;text-align:center}
.travelme-booking-form h2,.travelme-booking-form p,.travelme-booking-record p{margin:0}
.travelme-booking-record-heading,.travelme-booking-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.travelme-booking-record-heading{justify-content:space-between}
.travelme-booking-record-heading h2{margin:0;font:800 22px/1.2 var(--display)}
.travelme-booking-record-heading span{padding:5px 10px;border-radius:999px;background:#d8efe7;color:#10584f;font-size:13px;font-weight:800}
.travelme-booking-record dl{display:grid;gap:9px;margin:16px 0}
.travelme-booking-record dl div{display:flex;justify-content:space-between;gap:8px}
.travelme-booking-record dd{margin:0;font-weight:750;text-align:right;overflow-wrap:anywhere}
.travelme-booking-record .travelme-booking-amounts{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;border-radius:12px;background:#eaf5ef}
.travelme-booking-record .travelme-booking-amounts div{display:grid;justify-content:start}
.travelme-booking-amounts dd{text-align:left}
.travelme-booking-link{justify-self:start;padding:6px 0;border:0;background:transparent;color:#10584f;font:700 14px var(--sans);text-decoration:underline;cursor:pointer}
.travelme-booking-message{color:#315b58;font-size:14px;overflow-wrap:anywhere}
.travelme-booking-record>p,.travelme-booking-record>.travelme-booking-link{margin-top:12px}
@media(max-width:1050px) and (min-width:761px){.header .nav a{padding-inline:6px;font-size:12px}}
@media(max-width:470px){.travelme-booking-buttons>*{flex:1 1 100%}.travelme-booking-record .travelme-booking-amounts{grid-template-columns:1fr}}

/* TravelMe's introduction to its hometown guide */
.taytay-our-home{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(16px,4vw,42px);
  margin:0 0 clamp(18px,4vw,42px);
  padding:clamp(16px,3.5vw,38px);
  border:1px solid #a5c9c1;
  border-radius:24px;
  background:linear-gradient(145deg,#edf7f2,#f8f4e7);
  color:#143f43;
}
.taytay-our-home-copy>.eyebrow{margin:0;color:#08746a}
.taytay-our-home-copy h2{margin:7px 0 10px;color:#123c40;font:800 clamp(28px,4.8vw,48px)/1.08 var(--display);letter-spacing:-.035em}
.taytay-our-home-copy>p:not(.eyebrow){max-width:58ch;margin:0;color:#315b58;font-size:15px;line-height:1.65}
.taytay-our-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.taytay-our-home-links button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  min-height:44px;
  padding:8px 10px;
  border:1px solid #a5c9c1;
  border-radius:10px;
  background:#fff;
  color:#10584f;
  font:750 13px var(--sans);
  text-align:left;
  cursor:pointer;
}
.taytay-our-home-links button:hover{background:#d8efe7}
.taytay-our-home-links button:focus-visible,.taytay-our-home-source:focus-visible{outline:2px solid #10584f;outline-offset:3px}
.taytay-our-home-source{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;color:#10584f;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.taytay-our-home-photo{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:16px;background:#d2e8e0}
.taytay-our-home-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.taytay-our-home-photo figcaption{position:absolute;right:8px;bottom:8px;padding:5px 8px;border-radius:6px;background:#123c40e8;color:#fff;font-size:12px}
@media(max-width:720px){.taytay-our-home{grid-template-columns:minmax(0,1fr)}.taytay-our-home-photo img{aspect-ratio:16/9}}

/* Taytay itinerary planner */
.taytay-trip-planner{margin:0 0 clamp(18px,4vw,42px);padding:clamp(16px,3.5vw,36px);border:1px solid #a5c9c1;border-radius:24px;background:#edf7f2;color:#143f43}
.taytay-trip-planner header .eyebrow{margin:0;color:#08746a}
.taytay-trip-planner h2{margin:6px 0 8px;color:#123c40;font:800 clamp(27px,4vw,43px)/1.12 var(--display)}
.taytay-trip-planner header>p:last-child{margin:0;color:#315b58;font-size:14px}
.taytay-trip-plans{display:grid;gap:8px;margin-top:16px}
.taytay-trip-plans details{border:1px solid #b6d2c8;border-radius:12px;background:#fff}
.taytay-trip-plans summary{padding:12px;cursor:pointer;color:#10584f}
.taytay-trip-plans summary:focus-visible,.taytay-plan-link:focus-visible{outline:2px solid #10584f;outline-offset:2px}
.taytay-plan-duration{display:inline-block;margin:0 9px 2px 4px;padding:4px 8px;border-radius:6px;background:#d8efe7;color:#10584f;font-size:12px;font-weight:800}
.taytay-plan-content{padding:0 12px 12px}
.taytay-plan-content>p{margin:2px 0 12px;color:#315b58;font-size:14px}
.taytay-plan-content ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;margin:0;padding:0;list-style:none}
.taytay-plan-content li{padding:12px;border:1px solid #d7eae2;border-radius:10px;background:#f8fcfa}
.taytay-plan-period{margin:0 0 4px;color:#246c62;font-size:12px;font-weight:800}
.taytay-plan-content h3{margin:0;color:#123c40;font:800 17px/1.2 var(--display)}
.taytay-planner-facts{display:grid;gap:8px;margin:10px 0;color:#315b58;font-size:13px;line-height:1.45}
.taytay-planner-facts dt{color:#10584f;font-weight:800}
.taytay-planner-facts dd{margin:2px 0 0}
.taytay-plan-link{min-height:40px;padding:0;border:0;background:transparent;color:#10584f;font:750 13px var(--sans);text-decoration:underline;cursor:pointer}
.taytay-plan-download{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:14px}
.taytay-plan-download p{margin:0;color:#315b58;font-size:13px}
.taytay-plan-download a{min-height:44px;color:#10584f}


.travelme-header-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.travelme-header-tools .travelme-preference-current{min-height:34px;padding:4px 8px;gap:5px;font-size:12px}
.travelme-header-tools .travelme-preference-current::after{width:5px;height:5px}
@media(max-width:900px){
  .header .travelme-header-tools{margin-left:auto}
  .header .travelme-header-tools+.menu-toggle,.header .travelme-header-tools .travelme-currency-control{margin-left:0}
}
@media(max-width:900px){
  .header{gap:8px}
  .travelme-header-tools .travelme-preference{position:static}
  .travelme-header-tools .travelme-preference-current{min-height:44px;white-space:nowrap}
  .travelme-header-tools .travelme-cart-button{width:44px;height:44px}
  .travelme-header-tools .travelme-preference-panel{
    top:calc(100% + 6px);
    right:12px;
    left:auto;
    width:min(280px,calc(100% - 24px));
    padding:8px;
  }
  .travelme-header-tools .travelme-preference-search{font-size:16px}
  .travelme-header-tools .travelme-preference-options{max-height:min(290px,46dvh);overscroll-behavior:contain}
  .travelme-header-tools .travelme-preference-options button{min-height:44px}
}
@media(max-width:420px){
  .header{gap:4px;padding-inline:10px}
  .header .brand img{width:min(88px,22vw)}
  .travelme-header-tools{gap:4px}
  .travelme-header-tools .travelme-preference-current{padding-inline:6px;gap:4px}
}
@media(prefers-reduced-motion:no-preference) and (max-width:900px){
  .travelme-header-tools .travelme-preference[open] .travelme-preference-panel{animation:travelme-menu-appear .16s ease-out both}
  @keyframes travelme-menu-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
}

.travelme-card-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.travelme-card-cart-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:6px 10px;
  border:1px solid #8eb8ae;
  border-radius:999px;
  background:#f0faf6;
  color:#10584f;
  font:750 12px var(--sans);
  text-align:center;
}
.travelme-card-cart-link:hover{background:#d8efe7}
.travelme-card-cart-link:focus-visible{outline:2px solid #10584f;outline-offset:2px}
.travelme-tour-detail-modal #package-booking h2{scroll-margin-top:56px}
@media(max-width:640px){
  .market-grid .travelme-card-actions{justify-content:flex-start}
  .market-grid .travelme-card-cart-link{min-height:36px;padding-inline:8px;font-size:10px}
}

.travelme-booking-flow{width:min(680px,calc(100% - 24px))}
.travelme-booking-flow[open]{grid-template-rows:auto minmax(0,1fr)}
.travelme-booking-flow-body{overflow-y:auto;overscroll-behavior:contain;padding:16px 18px}
.travelme-booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px;padding:0;list-style:none}
.travelme-booking-steps li{padding:7px;border-radius:8px;background:#fff;color:#42666a;font-size:12px;text-align:center}
.travelme-booking-steps [aria-current="step"]{background:#10584f;color:#fff;font-weight:800}
.travelme-booking-selection,.travelme-booking-flow details{margin-bottom:10px;padding:12px;border:1px solid #b6d2c8;border-radius:12px;background:#fff}
.travelme-booking-selection ul{margin:5px 0 0;padding-left:18px}
.travelme-booking-flow details{margin:0}
.travelme-booking-flow summary{cursor:pointer;color:#10584f;font-weight:750}
.travelme-booking-flow details .field-grid{margin-top:9px}

/* Responsive traveler cards */
.travelme-booking-flow .travelme-booking-form{gap:10px}
.travelme-booking-flow [data-booking-person]{padding:0;overflow:hidden}
.travelme-booking-flow [data-booking-person]>summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px 10px;
  min-height:52px;
  padding:10px 13px;
  list-style:none;
}
.travelme-booking-flow [data-booking-person]>summary::-webkit-details-marker{display:none}
.travelme-booking-flow [data-booking-person]>summary::after{content:"+";grid-column:2;grid-row:1/-1;align-self:center;font-size:19px;color:#10584f}
.travelme-booking-flow [data-booking-person][open]>summary::after{content:"−"}
.travelme-booking-flow [data-booking-person]>summary:focus-visible{outline:2px solid #10584f;outline-offset:-3px;border-radius:10px}
.travelme-booking-person-title{display:block;min-width:0;overflow-wrap:anywhere}
.travelme-booking-person-title strong{display:block}
.travelme-booking-person-title small{display:block;margin-top:3px;color:#42666a;font-size:12px;font-weight:600}
.travelme-booking-flow [data-booking-person] .field-grid{margin:0;padding:12px 13px;border-top:1px solid #d7eae2;gap:10px}
.travelme-booking-flow [data-traveler-age]{align-self:end;justify-self:start;padding:6px 9px;border-radius:8px;background:#e5f4ee;color:#10584f;font-size:13px;font-weight:750}
.travelme-booking-flow [data-booking-person] input{min-width:0}
@media(max-width:600px){
  .travelme-booking-flow{width:100%;max-height:calc(100dvh - 18px);margin:auto 0 0;border-radius:20px 20px 0 0}
  .travelme-booking-flow-body{padding:12px 12px max(16px,env(safe-area-inset-bottom))}
  .travelme-booking-flow .travelme-cart-heading{padding:11px 12px}
  .travelme-booking-flow [data-booking-person] .field-grid{grid-template-columns:minmax(0,1fr)}
  .travelme-booking-flow [data-booking-person] input{font-size:16px}
  .travelme-booking-steps li{padding:6px 3px;font-size:11px}
}
@media(prefers-reduced-motion:no-preference){
  .travelme-booking-flow[open]{animation:travelme-booking-enter .18s ease-out both}
  @keyframes travelme-booking-enter{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}


.travelme-booking-flow .travelme-birth-calendar{grid-column:1/-1;margin:0;padding:0;background:#f5faf8}
.travelme-birth-calendar>summary{min-height:44px;padding:11px;color:#10584f;cursor:pointer}
.travelme-birth-calendar>summary span{margin-left:5px;color:#42666a;font-size:13px;font-weight:600}
.travelme-birth-calendar>summary[aria-invalid="true"]{color:#923b33}
.travelme-birth-calendar-body{padding:0 9px 9px}
.travelme-birth-calendar-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin:0 0 8px}
.travelme-birth-calendar-nav select{width:100%;min-height:44px;padding:6px;border:1px solid #a5c9c1;border-radius:8px;background:#fff;color:#143f43;font-size:16px}
.travelme-birth-weekdays,.travelme-birth-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.travelme-birth-weekdays{margin-bottom:4px;color:#42666a;font-size:11px}
.travelme-birth-days button{min-height:36px;padding:0;border:1px solid #d7eae2;border-radius:6px;background:#fff;color:#10584f;font:700 13px var(--sans);cursor:pointer}
.travelme-birth-days button:hover{background:#d8efe7}
.travelme-birth-days button[aria-pressed="true"]{background:#10584f;color:#fff}
.travelme-birth-days button:disabled{opacity:.36;cursor:default}

.travelme-last-birth{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:8px;
}
.travelme-birth-field{display:grid;gap:8px;min-width:0;align-content:start}
.travelme-birth-field-label{font-size:14px;font-weight:700}
.travelme-booking-flow .travelme-birth-field>.travelme-birth-calendar{grid-column:auto;min-width:0;margin:0;border:0;background:transparent}
.travelme-birth-field>.travelme-birth-calendar>summary{
  box-sizing:border-box;
  border:1px solid #d6e5e5;
  border-radius:999px;
  background:#fffefa;
  color:#183e3c;
  min-height:44px;
  padding:9px 12px;
  font-size:14px;
  line-height:24px;
  overflow-wrap:anywhere;
}
.travelme-birth-field>.travelme-birth-calendar>summary span{margin-left:0;color:inherit;font-size:inherit;line-height:inherit}
.travelme-birth-field>.travelme-birth-calendar>summary:focus-visible{outline:2px solid #08736b;outline-offset:2px}
.travelme-birth-field>.travelme-birth-calendar>summary[aria-invalid="true"]{border-color:#b3243a;color:#923b33}
.travelme-booking-flow [data-booking-person] .field-grid>label,
.travelme-last-birth>label{align-content:start;min-width:0}
.travelme-birth-field>.travelme-birth-calendar{position:relative}
.travelme-booking-flow [data-booking-person]:has(.travelme-birth-calendar[open]){
  position:relative;
  z-index:2;
  overflow:visible;
}
.travelme-last-birth .travelme-birth-calendar-body{
  position:absolute;
  z-index:1;
  inset-block-start:calc(100% + 6px);
  inset-inline-end:0;
  box-sizing:border-box;
  width:min(260px,calc(100vw - 56px));
  padding:10px;
  border:1px solid #a5c9c1;
  border-radius:12px;
  background:#f5faf8;
  box-shadow:0 8px 24px #123f3a33;
}
.travelme-last-birth .travelme-birth-days button{min-height:30px}
@media(max-width:600px){
  .travelme-birth-field>.travelme-birth-calendar>summary{font-size:16px}
}

.travelme-phone-fields{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:8px}
.travelme-phone-fields select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #a5c9c1;border-radius:10px;background:#f5faf8;color:#143f43;font:inherit}
.travelme-phone-fields:has([data-other-phone-code]:not([hidden])) label:last-child{grid-column:1/-1}
@media(max-width:600px){.travelme-phone-fields select{font-size:16px}}

.travelme-booking-form select[name="citizenship"]{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #a5c9c1;border-radius:10px;background:#f5faf8;color:#143f43;font:inherit}
@media(max-width:600px){.travelme-booking-form select[name="citizenship"]{font-size:16px}}

.travelme-extra-rooms{min-width:0}
.travelme-extra-rooms small{color:#42666a;line-height:1.4}

.travelme-extra-rooms{display:grid;gap:7px}
.travelme-extra-rooms [data-extra-room-rows]{display:grid;gap:7px}
.travelme-extra-rooms [data-extra-room-rows]:empty{display:none}
.travelme-extra-room-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(78px,96px) auto;align-items:end;gap:6px}
.travelme-extra-room-row label{min-width:0}
.travelme-extra-room-row select{width:100%;min-width:0}
.travelme-extra-room-row [data-remove-extra-room]{min-width:36px;min-height:44px;padding:4px;justify-content:center}
.travelme-extra-rooms [data-add-extra-room]{justify-self:start;min-height:40px}

.travelme-primary-room-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(78px,96px)}
.travelme-primary-room-row label{min-width:0}
@media(max-width:520px){
  .travelme-primary-room-row{grid-template-columns:minmax(0,1fr) minmax(78px,96px)}
  .travelme-primary-room-row>label:first-child{grid-column:1/-1;margin-bottom:0}
}

.tm-gallery-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:6px 4px 8px;scrollbar-width:thin}
.tm-gallery-thumb{flex:0 0 clamp(68px,12vw,96px);padding:2px;border:2px solid transparent;border-radius:9px;background:#fff;cursor:pointer}
.tm-gallery-thumb img{display:block;width:100%;height:auto;aspect-ratio:96/62;object-fit:cover;border-radius:5px}
.tm-gallery-thumb:hover{border-color:#9ccac2}
.tm-gallery-thumb[aria-pressed="true"]{border-color:#10584f}
.tm-gallery-thumb:focus-visible{outline:2px solid #10584f;outline-offset:1px}

/* Responsive tour booking */
.travelme-tour-detail-modal-content .package-configurator,
.travelme-tour-detail-modal-content .package-summary-card{
  min-width:0;
  padding:clamp(14px,3vw,24px);
  border:1px solid #b6d2c8;
  border-radius:16px;
  background:#fff;
}
.travelme-tour-detail-modal-content .package-summary-card--sale{padding-top:40px}
.travelme-tour-detail-modal-content .package-configurator h2{margin:0 0 14px;color:#123c40;font-size:clamp(21px,3vw,29px)}
.travelme-tour-detail-modal-content .package-configurator label{color:#315b58;font-size:13px;line-height:1.35}
.travelme-tour-detail-modal-content .package-configurator :is(input,select):focus-visible,
.travelme-booking-flow :is(input,select,summary,button,a):focus-visible{outline:2px solid #17877c;outline-offset:2px}
.travelme-tour-detail-modal-content .travelme-extra-rooms{padding:10px;margin-bottom:13px;border:1px solid #d7eae2;border-radius:10px;background:#f5faf8}
.travelme-tour-detail-modal-content .package-total{padding:12px;border-radius:12px;background:#edf7f2}
.travelme-tour-detail-modal-content .travelme-tour-actions>*{min-height:46px}
.travelme-tour-detail-modal-content .travelme-primary-room-row>label,
.travelme-tour-detail-modal-content .guest-count-grid>label{display:grid;grid-template-rows:1fr auto}
.travelme-booking-flow{width:min(900px,calc(100% - 28px));max-height:calc(100dvh - 30px)}
.travelme-booking-steps{position:sticky;top:0;z-index:2;padding:5px 0 8px;background:#edf7f2}
.travelme-booking-steps li{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px}
.travelme-booking-steps li::before{content:attr(data-step-number);display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:#e5f4ee;color:#10584f;font-weight:800}
.travelme-booking-steps [data-step-complete]{background:#d8efe7;color:#10584f}
.travelme-booking-flow-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:12px}
.travelme-booking-flow-summary{position:sticky;top:53px;min-width:0;overflow-wrap:anywhere}
.travelme-booking-flow-summary>.travelme-booking-message{margin:0 0 8px}
.travelme-flow-amount{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin:10px 0 0;padding-top:9px;border-top:1px solid #d7eae2;color:#10584f}
.travelme-booking-flow-grid .travelme-booking-form,.travelme-booking-preview-main{min-width:0}
.travelme-booking-flow-grid .travelme-booking-form>button[type="submit"]{justify-self:stretch}
.travelme-booking-preview-main>p{color:#42666a;line-height:1.5}
.travelme-booking-flow .travelme-booking-buttons>*{flex:1 1 auto}
@media(max-width:760px){
  .travelme-tour-detail-modal-content>.package-detail-layout .package-detail-main{grid-row:auto}
  .travelme-tour-detail-modal-content .package-detail-main .package-summary-card{margin:12px 0}
  .travelme-tour-detail-modal-content .package-configurator :is(input,select){font-size:16px}
  .travelme-tour-detail-modal-content .package-configurator label{font-size:12px}
}
@media(max-width:600px){
  .travelme-booking-flow{width:100%;max-height:calc(100dvh - 14px)}
  .travelme-booking-flow-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .travelme-booking-flow-summary{position:static}
  .travelme-booking-steps li{font-size:11px}
  .travelme-booking-steps li::before{width:17px;height:17px;flex-basis:17px}
  .travelme-booking-flow .travelme-booking-buttons>*{flex-basis:100%}
}


/* Taytay visitor guide */
.taytay-our-home {
  background: linear-gradient(125deg, #0d4747, #176459);
  border-color: #176459;
  box-shadow: 0 16px 32px #103d4022;
}
.taytay-our-home-copy h2 { color: #fff; }
.taytay-our-home-copy > .eyebrow,
.taytay-our-home-copy > p:not(.eyebrow),
.taytay-our-home .taytay-our-home-source { color: #e1f3eb; }
.taytay-our-home-source:focus-visible { outline-color: #fff; }
.taytay-our-home-photo { box-shadow: 0 10px 28px #092e3e44; }
.taytay-our-home-links button { min-height: 48px; }
.taytay-our-home-links button span:last-child { transition: transform .2s ease; }
.taytay-our-home-links button:hover span:last-child { transform: translateY(3px); }
.taytay-trip-planner { background: linear-gradient(145deg, #f5faf7, #e2f0e9); }
.taytay-trip-plans { gap: 12px; }
.taytay-trip-plans summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  list-style: none;
  border-radius: inherit;
}
.taytay-trip-plans summary::-webkit-details-marker { display: none; }
.taytay-trip-plans summary::after { content: "+" / ""; font-size: 1.4rem; line-height: 1; }
.taytay-trip-plans details[open] { border-color: #5b9e90; box-shadow: 0 8px 20px #10484414; }
.taytay-trip-plans details[open] > summary { background: #deefe6; border-radius: 11px 11px 0 0; }
.taytay-trip-plans details[open] > summary::after { content: "−" / ""; }
.taytay-plan-duration { margin: 0; }
.taytay-plan-content { padding: 12px; }
.taytay-plan-content li { border-top: 3px solid #69a996; }
.taytay-plan-content li:focus-within { background: #edf7f2; }
@media (max-width: 480px) {
  .taytay-our-home-links { grid-template-columns: 1fr; }
  .taytay-trip-plans summary { grid-template-columns: minmax(0, 1fr) auto; }
  .taytay-plan-duration { grid-column: 1; justify-self: start; }
  .taytay-trip-plans summary::after { grid-column: 2; grid-row: 1 / span 2; }
}
@media (prefers-reduced-motion: reduce) {
  .taytay-our-home-links button span:last-child { transition: none; }
}

/* Manage Booking */
.travelme-manage-booking .travelme-booking-shell {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(18px, 4vw, 44px);
  max-width: 1040px;
}
.travelme-manage-booking .travelme-booking-shell header {
  margin: 0;
  padding: clamp(20px, 3.5vw, 36px);
  border-radius: 20px;
  background: linear-gradient(135deg, #0d4747, #176459);
  color: #e1f3eb;
}
.travelme-manage-booking header .eyebrow,
.travelme-manage-booking h1 { color: #fff; }
.travelme-manage-booking header p:last-child { margin-bottom: 0; }
.travelme-manage-booking .travelme-booking-panel { min-width: 0; }
.travelme-manage-booking input:focus-visible {
  outline: 2px solid #08736b;
  outline-offset: 2px;
  background: #fff;
}
.travelme-manage-booking .travelme-booking-help {
  padding: 12px 14px;
  border-radius: 10px;
  background: #edf7f2;
  font-size: .9rem;
}
.travelme-booking-help a { color: #10584f; text-decoration: underline; }
.travelme-manage-booking .travelme-booking-message:empty { display: none; }
@media (max-width: 760px) {
  .travelme-manage-booking .travelme-booking-shell {
    grid-template-columns: minmax(0, 1fr);
    max-width: 600px;
  }
}

/* Frequently asked questions */
.travelme-faq-section { padding-block:clamp(24px,5vw,68px); }
.travelme-faq-layout {
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);
  align-items:start; gap:clamp(16px,4vw,48px);
}
.travelme-faq-intro {
  padding:clamp(22px,4vw,42px); border-radius:22px;
  background:linear-gradient(140deg,#103e43,#176459); color:#fff;
}
.travelme-faq-intro h1 { margin:0; color:inherit; font:800 clamp(30px,4vw,51px)/1.08 var(--display); }
.travelme-faq-intro p { margin:14px 0 20px; color:#e1f3eb; line-height:1.55; }
.travelme-faq-actions { display:grid; gap:8px; }
.travelme-faq-actions a {
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  min-height:44px; padding:8px 12px; border:1px solid #ffffff60; border-radius:10px;
  color:#fff; font-weight:700; text-decoration:none;
}
.travelme-faq-actions a:hover { background:#ffffff20; text-decoration:underline; }
.travelme-faq-actions a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.travelme-faq { display:grid; gap:10px; min-width:0; }
.travelme-faq details {
  background:#fff; border:1px solid #b6d2c8; border-radius:14px; color:#143f43;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.travelme-faq details[open] { border-color:#5b9e90; box-shadow:0 8px 20px #10484414; }
.travelme-faq summary {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  min-height:58px; padding:12px 16px; border-radius:inherit; list-style:none;
  font-weight:750; cursor:pointer;
}
.travelme-faq summary::-webkit-details-marker { display:none; }
.travelme-faq summary:hover, .travelme-faq details[open] summary { background:#e6f4ed; }
.travelme-faq details[open] summary { border-radius:13px 13px 0 0; }
.travelme-faq summary:focus-visible { outline:2px solid #08736b; outline-offset:2px; }
.travelme-faq-toggle {
  display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%;
  background:#deefe7; color:#104844; font-size:1.2rem; line-height:1;
}
.travelme-faq-toggle::before { content:"+"; }
.travelme-faq details[open] .travelme-faq-toggle { background:#10584f; color:#fff; }
.travelme-faq details[open] .travelme-faq-toggle::before { content:"−"; }
.travelme-faq details p { margin:0; padding:14px 16px 17px; color:#315b58; line-height:1.65; }
@media (max-width:760px) { .travelme-faq-layout { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { .travelme-faq details { transition:none; } }

.about-contact-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(86px,1fr)); gap:8px; margin:16px 0 20px; }
.about-contact-links a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:70px; padding:6px; border:1px solid #b6d2c8; border-radius:12px; background:#f4faf7; color:#10584f; font-size:.78rem; font-weight:700; }
.about-contact-links a:hover { background:#d8efe7; text-decoration:underline; }
.about-contact-links a:focus-visible { outline:2px solid #08736b; outline-offset:2px; }
.about-contact-links img { width:32px; height:32px; object-fit:contain; }

/* About Us */
.about-purpose { padding-block: clamp(18px, 4vw, 44px); }
.about-purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 2.5vw, 26px); }
.about-purpose-card { padding: clamp(20px, 4vw, 38px); border: 1px solid #a5c9c1; border-radius: 22px; background: linear-gradient(145deg, #fff, #e6f3eb); color: #143f43; box-shadow: 0 8px 24px #123c4014; }
.about-purpose-card:last-child { background: linear-gradient(135deg, #0d4747, #176459); color: #fff; border-color: #176459; }
.about-purpose-card h2 { margin: 0 0 12px; color: inherit; font: 800 clamp(23px, 3vw, 34px)/1.12 var(--display); }
.about-purpose-card p, .about-purpose-card ul { margin: 0; line-height: 1.65; }
.about-purpose-card ul { padding-inline-start: 1.25em; }
.about-purpose-card li + li { margin-top: .45em; }
@media (max-width: 680px) { .about-purpose-grid { grid-template-columns: minmax(0, 1fr); } }

.about-hero { padding-block: clamp(24px, 5vw, 64px) 0; }
.about-hero-layout {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center;
  gap:clamp(20px,4vw,52px); padding:clamp(22px,4vw,52px);
  border-radius:26px; background:linear-gradient(135deg,#103e43,#176459); color:#fff;
}
.about-hero-copy h1 { margin:0 0 12px; color:inherit; font:800 clamp(34px,6vw,66px)/1.05 var(--display); }
.about-hero-copy h2 { margin:0 0 8px; color:inherit; font-size:clamp(17px,2.4vw,24px); }
.about-hero-copy p { max-width:58ch; color:#e3f2ec; line-height:1.65; }
.about-jump-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.about-jump-links button { min-height:44px; padding:8px 14px; border:1px solid #b9ded1; border-radius:999px; background:#e7f6ee; color:#124640; font:700 .83rem var(--sans); cursor:pointer; }
.about-jump-links button:hover { background:#fff; text-decoration:underline; }
.about-jump-links button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.about-hero-photo { position:relative; margin:0; overflow:hidden; border-radius:18px; background:#174b49; }
.about-hero-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.about-hero-photo figcaption { position:absolute; right:10px; bottom:10px; padding:5px 9px; border-radius:6px; background:#113e43; color:#fff; font-size:.78rem; }
.about-purpose h2, .about-services-section h2, .about-contact-section h2 { scroll-margin-top:110px; }
.about-services-section, .about-contact-section { padding-block:0 clamp(24px,4vw,52px); }
.about-services-section h2 { margin:0 0 14px; color:#123c40; }
.about-services-section .contact-services { grid-template-columns:repeat(auto-fit,minmax(min(100%, 240px),1fr)); gap:12px; list-style:none; padding:0; }
.about-services-section li { padding:16px; border:1px solid #b6d2c8; border-inline-start:4px solid #569f8e; border-radius:12px; background:#f8fcfa; color:#315b58; font-size:.92rem; }
.about-contact-section .contact-inquiry-card { border-top:4px solid #569f8e; }
.about-contact-section .field :is(input,textarea):focus-visible { outline:2px solid #08736b; outline-offset:2px; }
@media (max-width:760px) {
  .about-hero-layout { grid-template-columns:minmax(0,1fr); }
  .about-hero-photo img { aspect-ratio:16/9; }
}

.about-b2b { padding-block:0 clamp(24px,4vw,52px); }
.about-b2b-panel {
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center;
  gap:clamp(16px,4vw,52px); padding:clamp(22px,4vw,52px); border-radius:24px;
  background:linear-gradient(135deg,#103e43,#176459); color:#fff;
}
.about-b2b h2 { margin:0; color:inherit; font:800 clamp(22px,3vw,36px)/1.12 var(--display); scroll-margin-top:110px; }
.about-b2b h2 span { display:block; color:#c9f3e5; font-size:clamp(56px,10vw,114px); line-height:.95; margin-bottom:6px; }
.about-b2b-copy p { max-width:52ch; margin:0 0 18px; color:#edf8f3; line-height:1.65; }
.about-b2b-copy .btn { min-height:44px; background:#dcf5e9; color:#123c40; cursor:pointer; }
.about-b2b-copy .btn:hover { background:#fff; }
.about-b2b-copy .btn:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (max-width:760px) { .about-b2b-panel { grid-template-columns:minmax(0,1fr); } }

.travelme-faq h2 { margin: 6px 0 2px; color: #143f43; font: 800 clamp(20px, 3vw, 26px)/1.2 var(--display); }
.travelme-faq-airports { display: grid; gap: 12px; margin: 0; padding: 14px 16px 17px; }
.travelme-faq-airports dt { color: #104844; font-weight: 750; }
.travelme-faq-airports dd { margin: 3px 0 0; color: #315b58; line-height: 1.6; }
.travelme-faq-sources { margin: 0 0 14px; color: #315b58; font-size: .87rem; }
.travelme-faq-sources a { color: #10584f; text-decoration: underline; }

.travelme-palawan-map{margin-top:clamp(24px,5vw,56px);color:#143f43}
.palawan-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,3vw,36px);align-items:start}
.palawan-map-image{position:relative;border-radius:18px;overflow:hidden;background:#def1ee}
.palawan-map-image img{display:block;width:100%;height:auto}
.palawan-map-image button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;padding:0}
.palawan-map-guide{padding:clamp(16px,3vw,30px);border:1px solid #b6d2c8;border-radius:18px;background:#f8fcfa}
.palawan-map-guide>p:first-child{margin-top:0}
.palawan-map-choices{display:flex;flex-wrap:wrap;gap:8px}
.palawan-map-layout button{border:1px solid #84b6a9;background:#f0faf6;color:#104844;font-weight:750;cursor:pointer}
.palawan-map-choices button{min-height:44px;padding:6px 11px;border-radius:999px}
.palawan-map-layout button[aria-pressed="true"]{background:#10584f;color:#fff}
.palawan-map-layout button:focus-visible{outline:2px solid #08736b;outline-offset:2px}
.palawan-map-details{margin-block:16px;padding:14px;border-radius:12px;background:#e4f3eb}
.palawan-map-details h3,.palawan-map-details p{margin:0 0 7px}
@media(max-width:760px){.palawan-map-layout{grid-template-columns:minmax(0,1fr)}}

.palawan-map-layout .palawan-map-image button,
.palawan-map-layout .palawan-map-image button[aria-pressed="true"] {
  width:3.6%; height:3.7%; transform:translate(-50%,-100%);
  border:0; background:transparent;
}
.palawan-red-pin { display:none; }
.palawan-map-image button[aria-pressed="true"] .palawan-red-pin {
  display:block; position:absolute; bottom:0; left:50%;
  width:86%; height:89%; transform:translateX(-50%) scale(1.2); transform-origin:bottom center;
  background:#bd252f;
  clip-path:polygon(0 40%,6% 21%,20% 7%,38% 0,62% 0,80% 7%,94% 21%,100% 40%,94% 60%,50% 100%,6% 60%);
}
.palawan-red-pin::after {
  content:""; position:absolute; left:32%; top:26%; width:36%; aspect-ratio:1;
  border-radius:50%; background:#fff;
}

@media(min-width:901px) and (max-width:1250px){
  .header .nav{gap:2px}
  .header .nav a{padding-inline:5px;font-size:11px}
}

.travelme-service-page header{padding:clamp(24px,5vw,56px);margin-bottom:20px;border-radius:24px;background:linear-gradient(135deg,#103e43,#176459);color:#fff}
.travelme-service-page h1{margin:0;color:inherit;font:800 clamp(32px,6vw,62px)/1.05 var(--display)}
.travelme-service-page header p{margin:12px 0 0;color:#e1f3eb}
.travelme-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}
.travelme-service-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid #b6d2c8;border-radius:18px;background:#f8fcfa;color:#143f43;box-shadow:0 8px 20px #10484414}
.travelme-service-grid h2{margin:0;font-size:1.2rem;color:inherit}
.travelme-service-grid p{margin:9px 0 18px;line-height:1.6}
.travelme-service-grid a{margin-top:auto;min-height:44px}

.accommodation-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);gap:20px;align-items:start}
.accommodation-filters{display:grid;gap:12px;padding:16px;border:1px solid #b6d2c8;border-radius:16px;background:#f8fcfa}
.accommodation-filters fieldset{display:grid;gap:7px;margin:0;border:1px solid #b6d2c8;border-radius:10px;padding:10px}
.accommodation-filters legend{font-weight:750}
.accommodation-filters label{cursor:pointer}
.accommodation-filters input[type=number]{display:block;width:100%;padding:8px;border:1px solid #a5c9c1;border-radius:8px}
.accommodation-layout [data-stay][hidden]{display:none}
.accommodation-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:12px}
@media(max-width:720px){.accommodation-layout{grid-template-columns:minmax(0,1fr)}}

.stay-options{width:100%;margin:0 0 12px;border:1px solid #b6d2c8;border-radius:12px;background:#fff}
.stay-options summary{padding:12px;cursor:pointer;color:#10584f;font-weight:750}
.stay-options form{display:grid;gap:10px;padding:0 12px 12px}
.stay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stay-options label{display:grid;gap:4px;font-size:.85rem;font-weight:700;min-width:0}
.stay-options :is(select,input){width:100%;min-width:0;min-height:44px;padding:7px;border:1px solid #a5c9c1;border-radius:8px;background:#f5faf8;color:#143f43;font:inherit}
.stay-options button{min-height:44px}
@media(max-width:420px){.stay-fields{grid-template-columns:minmax(0,1fr)}}

.accommodation-search{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(2,minmax(130px,1fr)) repeat(2,minmax(65px,.5fr)) auto;gap:8px;align-items:end;margin-top:22px;padding:14px;background:#fff;border:1px solid #a5c9c1;border-radius:16px;color:#143f43;text-align:left}
.accommodation-search label{display:grid;gap:4px;min-width:0;font-weight:700;font-size:.82rem}
.accommodation-search input,.accommodation-results-bar select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #a5c9c1;border-radius:8px;background:#f5faf8;color:#143f43;font:inherit}
.accommodation-search button{min-height:44px;white-space:nowrap}
.accommodation-results{min-width:0}
.accommodation-results-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.accommodation-results-bar label{display:flex;align-items:center;gap:8px}
.accommodation-results-bar select{width:auto}
.accommodation-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.accommodation-cards article{border-radius:14px}
.accommodation-cards [data-stars="1"] [aria-label$="stars"],.accommodation-cards [aria-label$=" stars"]{color:#8a5600}
@media(max-width:980px){.accommodation-search{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.accommodation-search{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-search label:first-child,.accommodation-search button{grid-column:1/-1}}

.accommodation-hero .marketplace-hero-inner{width:min(100%,1080px);max-width:100%}

.stay-detail{width:min(960px,calc(100% - 28px));max-height:88dvh;padding:clamp(16px,3vw,30px);border:1px solid #a5c9c1;border-radius:20px;background:#f8fcfa;color:#143f43}
.stay-detail::backdrop{background:#0d3439aa}
.stay-detail-header{display:flex;justify-content:space-between;align-items:start;gap:14px}
.stay-detail-header p{margin:4px 0 0}
.stay-detail h3{margin:18px 0 8px;color:inherit}
.stay-detail .tm-gallery-frame img{width:100%;aspect-ratio:16/9;object-fit:cover}
.stay-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:12px;margin-bottom:16px}
.stay-room-card{padding:13px;border:1px solid #b6d2c8;border-radius:12px;background:#fff}
.stay-room-card h4,.stay-room-card p{margin:7px 0}
.stay-detail .stay-options>h3{margin:12px}
.stay-amenities-panel{margin-top:16px;padding:12px 14px;border:1px solid #b6d2c8;border-radius:12px;background:#f6fcf9}
.stay-detail .stay-amenities-panel h3{margin:0 0 8px}
.stay-amenities-panel p{margin:0;color:#345e57;font-size:.85rem}
.stay-amenities{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.stay-amenities li{padding:4px 9px;border-radius:7px;background:#dceee7;color:#174b45;font-size:.8rem;overflow-wrap:anywhere}

/* Shared translucent TravelMe surfaces */
:root {
  --travelme-glass: rgba(250, 255, 252, .68);
  --travelme-glass-raised: rgba(249, 255, 252, .94);
  --travelme-glass-edge: rgba(32, 109, 100, .25);
  --travelme-glass-shadow: 0 12px 32px rgba(19, 66, 65, .09);
  --travelme-glass-dark: linear-gradient(135deg, rgba(12, 56, 61, .95), rgba(18, 91, 79, .92));
}
html body,
html body:has(#app .contact-company-layout),
html body.travelme-taytay-active {
  background: radial-gradient(ellipse at 12% 8%, #f8f2df 0, transparent 44%),
    radial-gradient(ellipse at 92% 28%, #b9ded7 0, transparent 57%),
    linear-gradient(145deg, #e7f4ee, #cde6df);
}
#app :is(.section, .page-hero, .marketplace-listing, .travelme-manage-booking),
body:has(#app .contact-company-layout) #app .page-hero { background: transparent; }
body :is(.header, .footer) { background: var(--travelme-glass-dark); }
#app :is(.marketplace-hero, .about-hero-layout, .about-b2b-panel, .about-purpose-card:last-child,
  .taytay-our-home, .travelme-faq-intro, .travelme-service-page header,
  .travelme-manage-booking .travelme-booking-shell header) {
  background: var(--travelme-glass-dark);
}
#app :is(.marketplace-hero, .about-hero-layout, .about-b2b-panel, .travelme-faq-intro,
  .travelme-service-page header) { box-shadow: var(--travelme-glass-shadow); }
html body #app :is(.trip-card, .public-review-card, .admin-card, .admin-auth-card,
  .contact-company-card, .contact-inquiry-card, .about-purpose-card:first-child,
  .about-services-section li, .travelme-service-grid > article,
  .travelme-faq details, .palawan-map-guide, .taytay-trip-planner, .taytay-transport,
  .taytay-trip-plans details, .taytay-plan-content li, .taytay-container .taytay-info-card,
  .taytay-visitor-card, .taytay-hotline, .taytay-tourism-map-card,
  .travelme-booking-panel, .accommodation-filters, .accommodation-search, .stay-options),
html body.travelme-taytay-active #app :is(.taytay-container .trip-card, .taytay-container .taytay-info-card),
body :is(.travelme-tour-detail-modal, dialog[open]) :is(.stay-room-card, .stay-options, .travelme-booking-selection),
body .travelme-tour-detail-modal :is(.booking-card, .package-form-card, .package-total, .travelme-date-picker) {
  background: var(--travelme-glass);
  border-color: var(--travelme-glass-edge);
}
html body #app .public-review-card {
  --travelme-glass: rgba(250, 255, 252, .80);
}
html body #app :is(.trip-card, .contact-company-card, .contact-inquiry-card,
  .travelme-service-grid > article, .travelme-booking-panel, .public-review-card) {
  box-shadow: var(--travelme-glass-shadow);
}
body :is(dialog[open], .travelme-tour-detail-modal, .admin-form-modal-dialog, .travelme-cart-panel) {
  background: var(--travelme-glass-raised);
}
body :is(.travelme-booking-flow-body, .travelme-booking-flow-header, .travelme-cart-footer) {
  background: rgba(230, 246, 239, .84);
}
#app :is(.accommodation-search, .accommodation-filters, .contact-inquiry-card, .travelme-booking-panel, .admin-card)
  :is(input:not([type=checkbox]):not([type=radio]), textarea, select),
body :is(.stay-detail, .travelme-booking-flow-body) :is(input:not([type=checkbox]):not([type=radio]), textarea, select) {
  background-color: rgba(251, 255, 253, .84);
}
:is(#app, dialog[open]) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid #08736b;
  outline-offset: 3px;
}
@supports (backdrop-filter: blur(12px)) {
  body :is(.header, dialog[open], .travelme-tour-detail-modal, .admin-form-modal-dialog, .travelme-cart-panel) {
    backdrop-filter: blur(12px);
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  #app :is(.travelme-service-grid > article, .about-purpose-card, .taytay-trip-plans details) {
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  #app :is(.travelme-service-grid > article, .about-purpose-card, .taytay-trip-plans details):hover {
    border-color: #6ca99d;
    box-shadow: var(--travelme-glass-shadow);
  }
}
@media (max-width: 760px) {
  :root { --travelme-glass: rgba(250, 255, 252, .8); }
  #app :is(.contact-company-card, .contact-inquiry-card, .travelme-service-grid > article, .travelme-booking-panel) { border-radius: 16px; }
  body :is(dialog[open], .travelme-tour-detail-modal) { max-width: 100%; }
}

.accommodation-cards { grid-template-columns:minmax(0,1fr); }
.accommodation-cards > [data-stay]:not([hidden]) {
  display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.3fr) minmax(150px, .75fr);
  align-items:stretch; gap:0; padding:0; overflow:hidden;
}
.accommodation-card-media { display:grid; place-items:center; position:relative; min-height:170px; background:#dceee7; color:#345e57; }
.accommodation-card-media .accommodation-photo { position:absolute; inset:0; width:100%; height:100%; margin:0; border-radius:0; object-fit:cover; }
.accommodation-card-copy, .accommodation-card-rate { min-width:0; padding:clamp(12px,1.8vw,22px); overflow-wrap:anywhere; }
.accommodation-card-copy p { margin:5px 0; }
.accommodation-location { color:#176459; font-weight:700; }
.accommodation-stars { color:#8a5600; }
.accommodation-amenities { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:12px 0 0; }
.accommodation-amenities li { background:#dceee7; border-radius:6px; padding:3px 7px; font-size:.78rem; }
.accommodation-card-rate { display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:5px; text-align:right; border-inline-start:1px solid var(--travelme-glass-edge); }
.accommodation-card-rate > span { font-size:.8rem; color:#345e57; }
.accommodation-card-rate > strong { font-size:clamp(18px,2vw,26px); }
@media (max-width:1000px) {
  .accommodation-cards > [data-stay]:not([hidden]) { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .accommodation-card-media { grid-row:span 2; }
  .accommodation-card-rate { align-items:flex-start; border-inline-start:0; padding-top:0; text-align:left; }
}
@media (max-width:520px) {
  .accommodation-cards > [data-stay]:not([hidden]) { grid-template-columns:minmax(0,1fr); }
  .accommodation-card-media { grid-row:auto; aspect-ratio:16/9; min-height:0; }
}

.stay-detail .stay-room-grid { grid-template-columns:minmax(0,1fr); }
.stay-detail .stay-room-card {
  display:grid; grid-template-columns:clamp(108px, 18%, 156px) minmax(0,1fr) minmax(150px,.75fr);
  padding:0; overflow:hidden; align-items:stretch;
}
.stay-room-media { min-height:140px; background:#dceee7; display:grid; align-items:center; min-width:0; }
.stay-room-media > p { text-align:center; padding:12px; }
.stay-room-copy,.stay-room-rate { padding:16px; min-width:0; overflow-wrap:anywhere; }
.stay-room-copy h4 { font-size:1.14rem; }
.stay-room-rate { display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:6px; border-inline-start:1px solid var(--travelme-glass-edge); text-align:right; }
.stay-room-rate > span { font-size:.8rem; color:#345e57; }
.stay-room-rate > strong { font-size:1.3rem; }
@media (max-width:640px) {
  .stay-detail .stay-room-card { grid-template-columns:minmax(0,1fr); }
  .stay-room-rate { border-inline-start:0; }
}

.stay-budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stay-budget-clear{justify-self:end;border:0;background:none;color:#10584f;cursor:pointer;text-decoration:underline;min-height:32px}
.stay-budget p{margin:4px 0;font-size:.85rem}
.stay-star-filter{display:flex;align-items:center;gap:7px;min-height:34px}
.stay-star-filter input{accent-color:#08736b;width:17px;height:17px}
.stay-star-filter span{color:#855000}
.stay-star-filter small{color:#345e57}
.stay-budget-sliders{position:relative;height:34px;background:linear-gradient(to right,#c4ddd5 var(--budget-start,0%),#08736b var(--budget-start,0%),#08736b var(--budget-end,100%),#c4ddd5 var(--budget-end,100%)) center / 100% 4px no-repeat}
.stay-budget-sliders input{appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;background:transparent;pointer-events:none}
.stay-budget-sliders input::-webkit-slider-thumb{appearance:none;pointer-events:auto;width:20px;height:20px;border:2px solid #08736b;border-radius:50%;background:#fff;cursor:grab}
.stay-budget-sliders input::-moz-range-thumb{pointer-events:auto;width:17px;height:17px;border:2px solid #08736b;border-radius:50%;background:#fff;cursor:grab}
.stay-budget-sliders input:focus-visible{z-index:1}

/* Accommodation filters */
#accommodation-filters { gap:14px; padding:14px; border-radius:18px; box-shadow:var(--travelme-glass-shadow); }
#accommodation-filters > h2 { margin:0; color:#143f43; font:800 1.2rem var(--display); }
#accommodation-filters fieldset { position:relative; min-width:0; gap:5px; padding:10px 0 0; border:0; border-top:1px solid var(--travelme-glass-edge); border-radius:0; }
#accommodation-filters legend { padding:0 6px 0 0; color:#143f43; font-size:.88rem; }
.stay-budget-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.stay-budget-heading h3 { margin:0; color:#143f43; font-size:.88rem; }
#accommodation-filters .stay-budget-clear { flex:none; min-height:32px; padding:0 3px; font:700 .74rem var(--sans); }
.stay-budget-fields label { min-width:0; font-size:.75rem; font-weight:700; color:#315b58; }
#accommodation-filters .stay-budget-fields input { min-height:40px; margin-top:4px; font:inherit; font-size:.9rem; color:#143f43; }
.stay-budget p { margin:5px 0 0; color:#315b58; font-size:.78rem; }
.stay-budget-sliders { margin:1px 3px 0; }
.stay-budget-sliders input[type=range] { background:transparent!important; }
.stay-budget-sliders input::-webkit-slider-runnable-track { background:transparent; }
.stay-budget-sliders input::-moz-range-track { background:transparent; }
.stay-star-filter { gap:8px; min-height:36px; padding:3px 7px; border:1px solid transparent; border-radius:8px; }
.stay-star-filter input { flex:none; margin:0; }
.stay-star-filter small { margin-inline-start:auto; padding:2px 6px; border-radius:999px; background:#e1eee8; font-variant-numeric:tabular-nums; }
.stay-star-filter:hover { background:#eef8f3; }
.stay-star-filter:has(input:checked) { background:#dcefe6; border-color:#8eb8ab; }
.stay-star-filter:focus-within { outline:2px solid #08736b; outline-offset:2px; }
#accommodation-filters > button[type=reset] { min-height:44px; }
@media(min-width:901px) { #accommodation-filters { position:sticky; top:100px; } }

.accommodation-filter-toggle { display:none; }
.accommodation-results-bar > p { margin:0; font-weight:700; }
.stay-detail { overscroll-behavior:contain; }
.stay-detail-header { position:sticky; top:0; z-index:2; padding:8px; border-radius:10px; background:var(--travelme-glass-raised,#f8fcfa); }
.stay-detail-header [data-close-stay] { flex:none; min-width:44px; min-height:44px; }
@media (max-width:720px) {
  .accommodation-filter-toggle { display:inline-flex; align-items:center; justify-self:start; gap:8px; min-height:44px; }
  .accommodation-filter-toggle span:not([hidden]) { border-radius:999px; padding:2px 8px; background:#dcefe6; }
  #accommodation-filters:not(.is-expanded) { display:none; }
  .accommodation-layout { gap:12px; }
}
@media (max-width:520px) {
  .stay-options [data-book-stay] { width:100%; }
  .accommodation-search input,.stay-options :is(input,select) { font-size:16px; }
}

.accommodation-layout { scroll-margin-top:90px; }
.accommodation-search input[type=date],.stay-options input[type=date] {
  display:block; box-sizing:border-box; inline-size:100%; min-inline-size:0; max-inline-size:100%;
}
.accommodation-search input[type=date]::-webkit-date-and-time-value,
.stay-options input[type=date]::-webkit-date-and-time-value { min-inline-size:0; text-align:start; }
@media (max-width:720px) {
  body:has(.accommodation-layout) .floating-contact { display:none!important; }
}
@media (max-width:520px) {
  .accommodation-search input[type=date],.stay-options input[type=date] { -webkit-appearance:none; appearance:none; }
  .accommodation-cards > [data-stay]:not([hidden]) {
    grid-template-columns:clamp(84px,28%,120px) minmax(0,1fr);
    grid-template-rows:auto auto;
  }
  .accommodation-card-media { grid-row:1 / span 2; width:100%; height:auto; aspect-ratio:auto; min-height:0; }
  .accommodation-card-media.accommodation-card-media--empty { display:none; }
  .accommodation-cards > [data-stay]:has(> .accommodation-card-media--empty):not([hidden]) {
    grid-template-columns:minmax(0,1fr);
  }
  .accommodation-card-copy { padding:11px 12px 4px; }
  .accommodation-card-copy h2 { font-size:1rem; line-height:1.2; }
  .accommodation-card-copy p { font-size:.76rem; line-height:1.35; margin:3px 0; }
  .accommodation-amenities { margin-top:5px; gap:4px; }
  .accommodation-amenities li { font-size:.69rem; padding:2px 5px; }
  .accommodation-card-rate { gap:2px; padding:0 12px 11px; }
  .accommodation-card-rate > span { font-size:.7rem; }
  .accommodation-card-rate > strong { font-size:1rem; }
}

.accommodation-cards > [data-stay] { position:relative; }
.accommodation-card-open {
  position:absolute; inset:0; width:100%; height:100%; border:0;
  border-radius:inherit; background:transparent; cursor:pointer;
}
#app .accommodation-card-open:focus-visible { outline-offset:-3px; }
@media (hover:hover) {
  .accommodation-cards > [data-stay]:has(> .accommodation-card-open:hover) { border-color:#69a89a; }
}
@media (max-width:520px) {
  .accommodation-cards { gap:10px; }
  .accommodation-cards > [data-stay]:not([hidden]) { grid-template-columns:clamp(76px,26%,110px) minmax(0,1fr); }
  .accommodation-card-copy { padding:8px 10px 2px; }
  .accommodation-card-rate { flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:3px 6px; padding:0 10px 8px; }
}

.stay-detail .stay-room-grid { gap:8px; }
.stay-room-copy,.stay-room-rate { padding:10px 12px; }
.stay-room-copy h4,.stay-room-copy p { margin:3px 0; }
.stay-room-media { min-height:105px; }
.stay-room-card:has(> .stay-room-media--empty) { grid-template-columns:minmax(0,1fr) minmax(150px,.75fr); }
.stay-room-media--empty { display:none; }
@media (max-width:640px) {
  .stay-detail .stay-room-card { grid-template-columns:clamp(62px,21%,88px) minmax(0,1fr) minmax(86px,27%); }
  .stay-detail .stay-room-card:has(> .stay-room-media--empty) { grid-template-columns:minmax(0,1fr) minmax(86px,27%); }
  .stay-room-media { grid-row:auto; min-height:0; }
  .stay-room-copy { padding:9px 7px; }
  .stay-room-copy h4,.stay-room-rate > strong { font-size:1rem; }
  .stay-room-copy p,.stay-room-rate > span { font-size:.75rem; }
  .stay-room-rate { gap:4px; padding:9px 7px; border-inline-start:1px solid var(--travelme-glass-edge); }
}

.stay-booking-popup{width:min(520px,calc(100% - 24px));max-height:86dvh;margin:auto;padding:14px;color:#143f43;overscroll-behavior:contain}
.stay-booking-popup::backdrop{background:#0d3439aa}
.stay-booking-popup header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.stay-booking-popup header h3{margin:0}
.stay-booking-popup form{padding:0}
.stay-booking-popup [data-stay-breakdown]{padding:12px;margin-bottom:12px;border-radius:10px;background:#e1f3ea}
.stay-booking-popup [data-stay-breakdown] ul{padding-inline-start:18px;margin:6px 0}
.stay-booking-popup [data-stay-room-list]{display:grid;gap:8px}
.stay-booking-popup [data-stay-room-row]{grid-template-columns:minmax(0,1fr) minmax(75px,.35fr)}
.stay-booking-popup [data-stay-room-row]>button{grid-column:1/-1;justify-self:start}

.stay-detail .stay-room-card { position:relative; isolation:isolate; }
.stay-room-open { position:absolute; inset:0; z-index:1; width:100%; height:100%; border:0; border-radius:inherit; background:transparent; cursor:pointer; }
.stay-room-open:focus-visible { outline:2px solid #08736b; outline-offset:-3px; }
@media (hover:hover) {
  .stay-detail .stay-room-card:has(> .stay-room-open:hover) { border-color:#69a89a; }
}

button:has(> .travelme-close-mark) {
  display:inline-grid; place-items:center; flex:none; box-sizing:border-box;
  width:44px; height:44px; min-width:44px; min-height:44px; padding:0;
  border:1px solid #9bbfb4; border-radius:50%;
  background:#e8f5ef; color:#124f48; cursor:pointer;
}
button:has(> .travelme-close-mark):hover { background:#d0e9df; border-color:#599587; }
button:has(> .travelme-close-mark):focus-visible { outline:2px solid #08736b; outline-offset:2px; }
.travelme-close-mark { position:relative; display:block; width:18px; height:18px; color:#124f48; pointer-events:none; }
.travelme-close-mark::before,.travelme-close-mark::after {
  content:""; position:absolute; inset:8px 0 auto; height:2px; border-radius:2px; background:currentColor;
}
.travelme-close-mark::before { transform:rotate(45deg); }
.travelme-close-mark::after { transform:rotate(-45deg); }

.stay-room-photo-open {
  position:relative; z-index:2; display:block; width:100%; padding:0;
  border:0; background:transparent; cursor:zoom-in;
}
.stay-room-media { position:relative; }
.stay-room-photo-open { position:absolute; inset:0; height:100%; overflow:hidden; }
.stay-room-photo-open img { display:block; width:100%; height:100%; object-fit:cover; }
.stay-room-photo-open span {
  position:absolute; inset-inline-end:4px; bottom:4px; padding:2px 5px;
  border-radius:6px; background:#123e43e8; color:#fff; font-size:.68rem;
}
.stay-room-photo-open:focus-visible { outline:2px solid #08736b; outline-offset:-3px; }
.stay-room-photos { width:min(740px,calc(100% - 24px)); }
.stay-room-photos .stay-detail-header h3 { margin:0; }
.stay-room-photo-list { display:grid; gap:10px; margin-top:10px; }
.stay-room-photo-list img { display:block; width:100%; height:auto; border-radius:10px; }

.stay-discount-badge { display:inline-block; padding:2px 7px; border-radius:6px; background:#dcefe6; color:#10584f; font-size:.75rem; font-weight:750; }
:is(.accommodation-card-rate,.stay-room-rate) s { color:#526d68; font-size:.8em; font-weight:500; }

.stay-detail[data-stay-detail] { background:linear-gradient(155deg,#f7fdf9,#e4f3eb); }
[data-stay-detail] > .stay-detail-header { padding:10px 12px; background:#f6fcf9; }
[data-stay-detail] .tm-gallery--hotel .tm-gallery-frame { border-radius:14px; overflow:hidden; }
[data-stay-detail] .tm-gallery--hotel .tm-gallery-frame img { max-height:360px; }
[data-stay-detail] .stay-room-card { transition:border-color .18s ease,box-shadow .18s ease; }
[data-stay-detail] .stay-room-card:focus-within { border-color:#5b9e90; }
@media (hover:hover) { [data-stay-detail] .stay-room-card:hover { box-shadow:0 5px 14px #1048441f; } }
@media (max-width:520px) {
  .stay-detail[data-stay-detail] { width:calc(100% - 16px); max-height:94dvh; padding:12px; }
  [data-stay-detail] .tm-gallery--hotel .tm-gallery-frame img { aspect-ratio:16/10; }
}
@media (prefers-reduced-motion:reduce) { [data-stay-detail] .stay-room-card { transition:none; } }

.taytay-barangay-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}
.taytay-barangay-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 14fr) minmax(0, 72fr) minmax(0, 14fr);
  border-radius: 1rem;
  background: #dcefeb;
}
.taytay-barangay-image { position: relative; grid-column: 2; }
.taytay-attraction-rail, .taytay-photo-leaders {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.taytay-photo-leaders line {
  stroke: #a55722;
  stroke-width: 1.5;
  stroke-dasharray: 4 4;
  vector-effect: non-scaling-stroke;
}
.taytay-attraction-rail .taytay-attraction-card {
  position: absolute;
  top: var(--y);
  left: var(--x);
  width: min(116px, calc(13% - 2px));
  transform: translate(-50%, -50%);
  pointer-events: auto;
}
.taytay-barangay-image img { display: block; width: 100%; height: auto; border-radius: inherit; }
.taytay-barangay-pin {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -75%);
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.taytay-barangay-pin > span:first-child {
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  background: #11594f;
  box-shadow: 0 0 0 1px #fff;
}
.taytay-barangay-pin > span:first-child::after {
  content: "";
  width: 5px;
  height: 5px;
  background: #fff;
  border-radius: 50%;
}
.taytay-barangay-pin[aria-pressed="true"], .taytay-barangay-pin:focus-visible { z-index: 1; }
.taytay-barangay-pin[aria-pressed="true"] > span:first-child {
  background: #bc2438;
  transform: rotate(-45deg) scale(1.27);
}
.taytay-barangay-pin:focus-visible { outline: 2px solid #073c36; outline-offset: 1px; }
.taytay-barangay-guide {
  display: grid;
  gap: .7rem;
  padding: clamp(1rem, 3vw, 1.6rem);
  border: 1px solid #a5c9bd;
  border-radius: 1rem;
  background: #f3faf7;
}
.taytay-barangay-guide label { font-weight: 700; }
.taytay-barangay-guide select {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: .55rem .75rem;
  border: 1px solid #86b8aa;
  border-radius: .65rem;
  background: #fff;
  color: #123f3a;
  font: inherit;
}
.taytay-barangay-result {
  display: grid;
  gap: .4rem;
  padding: .75rem;
  background: #e0f0e8;
  border-radius: .65rem;
}
.taytay-barangay-result a[hidden] { display: none; }
@media (max-width: 680px) {
  .taytay-barangay-guide { grid-row: 1; }
}

.taytay-barangay-pin .taytay-barangay-label {
  z-index: 1;
  position: absolute;
  top: 50%;
  left: calc(50% + 9px);
  transform: translateY(-50%);
  width: max-content;
  height: auto;
  padding: 1px 3px;
  border-radius: 3px;
  background: #f3faf7f2;
  box-shadow: none;
  color: #123f3a;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1.15;
  pointer-events: none;
}
.taytay-barangay-pin .taytay-barangay-label::after { content: none; }
.taytay-barangay-pin[aria-pressed="true"] .taytay-barangay-label {
  transform: translateY(-50%);
  background: #fff;
  color: #a31d30;
  font-size: .78rem;
}
.taytay-barangay-pin[aria-pressed="true"], .taytay-barangay-pin:focus-visible { z-index: 3; }
.taytay-barangay-pin:hover:not([aria-pressed="true"]) { z-index: 2; }
@media (max-width: 680px) {
  .taytay-barangay-pin .taytay-barangay-label {
    font-size: .55rem;
    padding-inline: 2px;
  }
}

.taytay-attraction-pin {
  position: absolute;
  left: var(--x);
  top: var(--y);
  z-index: 4;
}
.taytay-attraction-pin {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  transform: translate(-50%, -80%);
}
.taytay-attraction-pin::before {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: #a55722;
  transform: rotate(-45deg);
}
.taytay-attraction-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #a55722;
  border-radius: 7px;
  background: #fffaf1;
  color: #663313;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 6px #123f3a25;
}
.taytay-attraction-card img {
  display: block; min-height: 0;
  width: 100%;
  aspect-ratio: 1.85;
  object-fit: cover;
  border-radius: 0;
}
.taytay-attraction-name { padding: 3px 2px; font-size: clamp(8px, 1.2vw, 12px); line-height: 1.1; font-weight: 700; overflow-wrap: anywhere; }
.taytay-attraction-card:hover, .taytay-attraction-card:focus-visible {
  outline: 2px solid #a55722;
  outline-offset: 2px;
}

.taytay-barangay-pin .taytay-barangay-leader {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 0;
  border-top: 1px solid #376b60;
  border-radius: 0;
  box-shadow: none;
  transform-origin: left center;
  pointer-events: none;
}
.taytay-barangay-pin .taytay-barangay-leader::after { content: none; }
.taytay-barangay-pin[aria-pressed="true"] .taytay-barangay-leader { border-color: #bc2438; }

.taytay-map-attribution { justify-self: end; margin-top: -.65rem; color: #123f3a; font-size: .75rem; }

#taytay-accommodations [data-stay][hidden] { display: none; }
#taytay-accommodations [data-taytay-stay-toggle] { margin-top: 12px; }

.taytay-map-islands summary { cursor: pointer; font-weight: 750; }
.taytay-map-islands ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 6px 16px; list-style: none; padding: 0; }
.taytay-map-islands a { text-decoration: underline; }

.taytay-map-number { display: none; }
@media (max-width: 760px) {
  .taytay-barangay-stage { grid-template-columns: minmax(0, 1fr); }
  .taytay-barangay-image { grid-column: 1; }
  .taytay-photo-leaders { display: none; }
  .taytay-attraction-rail {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
    height: auto;
    pointer-events: auto;
  }
  .taytay-attraction-rail .taytay-attraction-card {
    position: static;
    width: 100%;
    transform: none;
  }
  .taytay-attraction-name {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    text-align: left;
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: clamp(.65rem, 2.8vw, .78rem);
  }
  .taytay-map-number {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #914616;
    color: white;
    font-size: 10px;
    font-weight: 800;
  }
  .taytay-attraction-pin::before { display: none; }
  .taytay-attraction-pin .taytay-map-number { border: 1px solid white; }
  .taytay-barangay-guide { grid-row: auto; }
}


/* Responsive cards on the public Taytay page. */
.travelme-taytay-active .taytay-container :is(
  .taytay-info-card, .trip-card, .taytay-tourism-map-card,
  .taytay-visitor-card, .taytay-event-card, .taytay-season-card,
  .taytay-hotline, .taytay-plan-content li, [data-stay]
) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.travelme-taytay-active .taytay-container :is(.trip-bottom, .section-head) {
  flex-wrap: wrap;
}
.travelme-taytay-active .taytay-container :is(.taytay-info-card, .trip-card, [data-stay]) .text-link {
  white-space: normal;
}
@media (max-width: 1024px) {
  .travelme-taytay-active .taytay-container :is(
    #taytay-restaurants .taytay-card-grid,
    #taytay-day-tours .taytay-day-tour-grid,
    #taytay-packages .taytay-card-grid
  ) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    grid-auto-flow: row;
    grid-auto-columns: auto;
    overflow: visible;
    margin-inline: 0;
  }
  .travelme-taytay-active .taytay-container :is(
    #taytay-restaurants .taytay-card-grid,
    #taytay-day-tours .taytay-day-tour-grid,
    #taytay-packages .taytay-card-grid
  ) > * { width: auto; min-width: 0; }
}
@media (max-width: 520px) {
  .travelme-taytay-active .taytay-container :is(
    #taytay-restaurants .taytay-card-grid, #taytay-day-tours .taytay-day-tour-grid,
    #taytay-packages .taytay-card-grid, .taytay-tourism-map-grid, .taytay-hotline-grid
  ) { grid-template-columns: minmax(0, 1fr); }
  .travelme-taytay-active #taytay-accommodations .accommodation-cards > [data-stay]:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }
  .travelme-taytay-active .taytay-related-track > .trip-card { flex-basis: min(84%, 260px); }
}

.accommodation-card-copy .stay-discount-ribbon {
  display: inline-block;
  padding: 4px 14px 4px 8px;
  background: #b42330;
  color: #fff;
  clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 50%, 100% 100%, 0 100%);
  font-size: .75rem;
  font-weight: 800;
}
.stay-discounted-rate { color: #b42330; }

.travelme-hotel-booking-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.travelme-hotel-booking-grid .travelme-booking-form { grid-area: 1 / 1; }
.travelme-hotel-booking-grid .travelme-booking-flow-summary { grid-area: 1 / 2; }
.hotel-guest-note { padding: 0 14px 8px; }
@media(max-width:760px) {
  .travelme-hotel-booking-grid { grid-template-columns: minmax(0, 1fr); }
  .travelme-hotel-booking-grid .travelme-booking-flow-summary { grid-area: 2 / 1; }
}

.stay-price-breakdown { border-top: 1px solid #a5c9c1; margin-top: 12px; padding-top: 10px; }
.stay-price-breakdown dl { margin: 8px 0; display: grid; gap: 8px; }
.stay-price-breakdown dl > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
.stay-price-breakdown dd { margin: 0 0 0 auto; white-space: nowrap; }

.travelme-booking-flow .travelme-booking-steps {
  --step-size: clamp(24px, 4vw, 30px);
  --step-accent: #1c5fce;
  gap: 0;
  background: #fff;
  padding: 14px 6px 12px;
  border: 1px solid #d7e5e4;
  border-radius: 14px;
}
.travelme-booking-flow .travelme-booking-steps li {
  position: relative;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 4px;
  background: transparent;
  color: #52616d;
  font-size: clamp(.69rem, 1.5vw, .875rem);
  line-height: 1.25;
}
.travelme-booking-flow .travelme-booking-steps li::before {
  z-index: 1;
  box-sizing: border-box;
  width: var(--step-size);
  height: var(--step-size);
  flex-basis: var(--step-size);
  border: 2px solid #dfe4ea;
  background: #fff;
  color: #52616d;
}
.travelme-booking-flow .travelme-booking-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(var(--step-size) / 2);
  inset-inline: calc(50% + var(--step-size) / 2 + 5px) auto;
  width: calc(100% - var(--step-size) - 10px);
  height: 3px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: #dfe4ea;
}
.travelme-booking-flow .travelme-booking-steps [aria-current="step"] { color: var(--step-accent); font-weight: 800; }
.travelme-booking-flow .travelme-booking-steps :is([aria-current="step"], [data-step-complete])::before {
  border-color: var(--step-accent);
  background: var(--step-accent);
  color: #fff;
}
.travelme-booking-flow .travelme-booking-steps [data-step-complete]::after { background: var(--step-accent); }
.travelme-booking-flow .travelme-booking-steps [aria-current="step"]::after {
  background: #dfe4ea;
}

[data-stay-form] label[hidden] { display: none; }

.stay-dates-card { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto; align-items: center; gap: 5px; margin: 10px 0; padding: 8px; border: 1px solid #a5c9c1; border-radius: 12px; background: #fff; font-size: .86rem; }
.stay-dates-card > div { display: grid; gap: 3px; }
.stay-dates-card small { color: #42666a; line-height: 1.3; }
.stay-dates-card > div:last-child { text-align: center; }

.stay-dates-card b { font-size: .75rem; overflow-wrap: anywhere; }
.stay-dates-card > div:last-child { border-inline-start: 1px solid #d9e7e2; padding-inline-start: 7px; }
.stay-dates-card small { font-size: .65rem; overflow-wrap: anywhere; }
.stay-price-breakdown dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; font-size: .9rem; }
.stay-price-breakdown dt { overflow-wrap: anywhere; }

[data-stay-detail] > .stay-detail-header h2 { margin: 0; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.15; overflow-wrap: anywhere; }
.stay-detail-stars { display: block; margin-top: 4px; color: #e0a500; font-size: 1.4rem; }

.accommodation-search label[hidden] { display:none; }
.accommodation-search :is([data-stay-calendar],[data-stay-party]) { min-width:0; color:#143f43; }
.accommodation-search summary { cursor:pointer; background:white; border:1px solid #a5c9c1; border-radius:10px; padding:12px; }
.stay-search-panel { position:absolute; z-index:12; inset-inline-start:0; width:min(100%, 640px); padding:14px; border:1px solid #a5c9c1; border-radius:12px; background:white; box-shadow:0 8px 24px #143f4330; }
.accommodation-hero.marketplace-hero { overflow: visible; z-index: 3; }
.accommodation-search { position: relative; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)) auto; align-items: start; }
.accommodation-search > details { margin-top: 1.3rem; }
.accommodation-search > button { align-self: end; }
.accommodation-search .stay-search-panel button { min-width: 0; min-height: 34px; padding: 0; }
.accommodation-search :is(.stay-month-nav, .stay-party-row) button { min-width: 36px; }
@media (max-width: 700px) {
  .accommodation-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accommodation-search > :is(label, button) { grid-column: 1 / -1; }
  .accommodation-search > details { margin-top: 0; }
  .accommodation-search .stay-search-panel button { grid-column: auto; }
}
[data-stay-days] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; text-align:center; }
.stay-calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; margin-top:8px; }
.stay-calendar-days button,.stay-month-nav button,.stay-party-row button { min-height:34px; border:0; border-radius:7px; background:#edf7f2; color:#143f43; cursor:pointer; }
.stay-calendar-days button[aria-pressed="true"] { background:#10584f; color:white; }
.stay-calendar-days button.in-range { background:#ccebe3; }
.stay-search-panel button:disabled { opacity:.4; cursor:default; }
.stay-month-nav { display:flex; justify-content:space-between; margin-bottom:8px; }
.stay-month-nav button,.stay-party-row button { min-width:36px; }
.stay-party-row { display:grid; grid-template-columns:1fr auto 52px auto; gap:8px; align-items:center; margin:6px 0; }
.stay-party-row input { text-align:center; appearance:textfield; padding:4px; }
.stay-party-row input::-webkit-inner-spin-button { appearance:none; }
.accommodation-search > [data-stay-party] { position: relative; }
.accommodation-search [data-stay-party] > .stay-search-panel {
  inset-block-start: calc(100% + 6px);
  width: min(280px, calc(100vw - 48px));
  padding: 10px 12px;
}
.accommodation-search .stay-party-row { grid-template-columns: minmax(0, 1fr) 36px 42px 36px; }
@media(max-width:600px) { [data-stay-days] { grid-template-columns:minmax(0,1fr); } .stay-search-panel { max-height:55vh; overflow:auto; } }

.accommodation-search {
  --stay-control-height: 54px;
  grid-template-columns: minmax(145px,1fr) minmax(240px,1.65fr) minmax(160px,1.12fr) auto;
  align-items: end;
}
.accommodation-search > details { margin-top: 0; }
.accommodation-search :is(#accommodation-search, details > summary), .accommodation-search > button {
  min-height: var(--stay-control-height);
  border-radius: 12px;
}
.accommodation-search > button { display: grid; place-items: center; }
.accommodation-search :is(#accommodation-search, details > summary, button):focus-visible {
  outline: 2px solid #08736b;
  outline-offset: 2px;
}
.accommodation-search > details[open] > summary { border-color: #08736b; }
.accommodation-search [data-stay-party][open] .stay-search-chevron { transform: rotate(180deg); }
.accommodation-search > details > summary { padding: 0; display: grid; list-style: none; overflow: hidden; }
.accommodation-search > details > summary::-webkit-details-marker { display: none; }
.accommodation-search [data-stay-calendar] > summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.stay-search-cell { display: flex; align-items: center; gap: 8px; min-height: calc(var(--stay-control-height) - 2px); padding: 5px 9px; text-align: start; line-height: 1.25; }
.stay-search-cell + .stay-search-cell { border-inline-start: 1px solid #a5c9c1; }
.stay-search-cell b,.stay-search-cell small { display: block; font-size: .82rem; overflow-wrap: anywhere; }
.stay-search-cell small { color: #42666a; }
.stay-search-icon { flex: none; font-size: 1.15rem; }
.stay-search-chevron { margin-inline-start: auto; }
@media(max-width:800px) {
  .accommodation-search { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .accommodation-search > :is(label,[data-stay-calendar]) { grid-column: 1 / -1; }
  .accommodation-search > details { margin-top: 0; }
  .accommodation-search > button { grid-column: auto; align-self: stretch; }
}

@media (max-width: 400px) {
  .accommodation-search > :is([data-stay-party], button) { grid-column: 1 / -1; }
}

.stay-search-location { position: relative; display: block; }
.accommodation-search .stay-search-location input { padding-inline-start: 34px; }
.stay-search-magnifier { position: absolute; inset-inline-start: 12px; top: 50%; width: 13px; height: 13px; border: 2px solid #42666a; border-radius: 50%; transform: translateY(-58%); pointer-events: none; }
.stay-search-magnifier::after { content: ""; position: absolute; top: 8px; left: 8px; width: 6px; height: 2px; background: #42666a; transform: rotate(45deg); transform-origin: left center; }

.stay-capacity-warning { color: #a51f2b; font-size: .75rem; line-height: 1.35; font-weight: 400; }
.stay-capacity-warning[hidden] { display: none; }

#dialog-hotel-form, #app #hotel-form {
  --travelme-glass: #c7e4da;
  --travelme-glass-raised: #d8ede5;
  --travelme-glass-edge: #a4cbbf;
  background: #c7e4da;
  color: #183e3c;
}
#app #hotel-form :is(details, .hotel-details-body, .hotel-room-body, .season-coverage-body, .season-date-card, .rate-group, .admin-note, .destination-picker-menu, .destination-option-group) {
  background: #d8ede5;
  color: #183e3c;
  border-color: #a4cbbf;
}
#app #hotel-form :is(h2, h3, h4, p, label, legend, .season-heading) { color: #183e3c; }
#app #hotel-form :is(small, .admin-note) { color: #48615d; }
#app #hotel-form summary.collapse-summary {
  background: #14564c;
  border-color: #27695d;
  color: #f3fffc;
}
#app #hotel-form .collapse-summary::after { color: #f3fffc; border-color: #79aea3; }
#app #hotel-form :is(input, select, textarea) {
  background: #fffefa;
  border-color: #94b1a6;
  color: #143f43;
  color-scheme: light;
}
#app #hotel-form :is(input, textarea)::placeholder { color: #526a66; }
#dialog-hotel-form .admin-form-modal-close,
#app #hotel-form :is(.btn-outline, .destination-trigger, .destination-option) {
  background: #fffefa;
  border-color: #94b1a6;
  color: #183e3c;
}
#dialog-hotel-form .admin-form-modal-close .travelme-close-mark { color: #183e3c; }
#app #hotel-form :focus-visible, #dialog-hotel-form .admin-form-modal-close:focus-visible { outline-color: #17695e; }
#app #hotel-form summary.collapse-summary:focus-visible { outline-color: #a9eadb; outline-offset: -4px; }

.travelme-tour-benefits { padding-block: clamp(24px, 4vw, 52px); }
.travelme-tour-benefits h2 {
  margin: 0 0 18px;
  font-size: clamp(24px, 3vw, 36px);
}
.travelme-tour-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 22px);
}
.travelme-tour-benefits-grid article {
  padding: clamp(16px, 2.4vw, 28px);
  border: 1px solid #a6cfc3;
  border-radius: 18px;
  background: linear-gradient(145deg, #ffffffd9, #e6f5efcf);
  color: #123f3a;
}
.travelme-tour-benefit-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  border-radius: 12px;
  background: #d7eee6;
  font-size: 23px;
}
.travelme-tour-benefits-grid h3 { margin: 0 0 6px; font-size: 1.1rem; }
.travelme-tour-benefits-grid p { margin: 0; line-height: 1.5; }
.travelme-tour-benefits-grid .text-link { display: inline-flex; margin-top: 10px; }
@media (max-width: 720px) {
  .travelme-tour-benefits { padding-block: 18px; }
  .travelme-tour-benefits h2 { margin-bottom: 10px; font-size: 20px; }
  .travelme-tour-benefits-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .travelme-tour-benefits-grid article {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
    gap: 3px 8px;
    padding: 9px 10px;
    border-radius: 10px;
  }
  .travelme-tour-benefit-icon {
    grid-row: 1 / span 2;
    width: 30px;
    height: 30px;
    margin: 0;
    border-radius: 8px;
    font-size: 16px;
  }
  .travelme-tour-benefits-grid article > :is(h3, p, a) { grid-column: 2; }
  .travelme-tour-benefits-grid h3 { margin: 0; font-size: .9rem; line-height: 1.25; }
  .travelme-tour-benefits-grid p { font-size: .8rem; line-height: 1.35; }
  .travelme-tour-benefits-grid .text-link { justify-self: start; margin-top: 2px; }
}

.travelme-service-rail { padding-block: 20px 4px; }
.travelme-service-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.travelme-service-rail-head h2 { margin: 0; font-size: clamp(18px, 2vw, 24px); }
.travelme-service-rail-arrows { display: flex; gap: 6px; }
.travelme-service-rail-arrows button {
  width: 38px; height: 38px; padding: 0; border: 1px solid #9cc6bc;
  border-radius: 50%; background: #f4fbf8; color: #145951; font: inherit; cursor: pointer;
}
.travelme-service-rail-arrows button:disabled { opacity: .45; cursor: default; }
.travelme-service-track {
  position: relative; display: grid; grid-auto-flow: column;
  grid-auto-columns: calc((100% - 36px) / 4); gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-block: 4px 10px;
}
.travelme-service-tile {
  min-width: 0; display: grid;
  align-items: center; gap: 8px; padding: 0 6px 0 0; overflow: hidden;
  border: 1px solid #a6cfc3; border-radius: 8px; background: #f4fbf8;
  color: #123f3a; text-decoration: none; scroll-snap-align: start; cursor: pointer;
  box-shadow: 0 2px 4px #123f3a20;
}
@media (prefers-reduced-motion: no-preference) {
  .travelme-service-tile { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .travelme-service-tile:active { transform: scale(.98); }
}
@media (hover: hover) and (pointer: fine) {
  .travelme-service-tile:hover { border-color: #2a8578; box-shadow: 0 4px 9px #123f3a30; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .travelme-service-tile:hover:not(:active) { transform: translateY(-2px); }
}
.travelme-service-tile:focus-visible { outline-offset: -3px; }
.travelme-service-tile strong, .travelme-service-tile small { display: block; }
.travelme-service-tile small { margin-top: 3px; color: #395f59; line-height: 1.25; }
.travelme-service-tile-icon {
  display: grid; place-items: center; width: 30px; height: 30px;
  border-radius: 8px; background: #d7eee6; font-size: 18px;
}
@media (max-width: 900px) {
  .travelme-service-track { grid-auto-columns: calc((100% - 24px) / 3); }
}
@media (max-width: 650px) {
  .travelme-service-track { grid-auto-columns: min(47%, 152px); gap: 6px; }
}

.travelme-service-tile .travelme-service-category { margin: 0 0 4px; font-size: .72rem; font-weight: 700; color: #17675b; }
.travelme-service-tile strong { overflow-wrap: anywhere; }

.travelme-service-track::-webkit-scrollbar { display: none; }
.travelme-service-tile { grid-template-columns: clamp(44px, 4.5vw, 64px) minmax(0, 1fr); }
@media (min-width: 601px) {
  .travelme-service-tile { gap: 6px; }
  .travelme-service-tile > span:nth-child(2) { padding-block: 4px; }
  .travelme-service-tile strong { font-size: .84rem; line-height: 1.18; }
  .travelme-service-tile small { font-size: .73rem; line-height: 1.2; margin-top: 2px; }
  .travelme-service-tile .travelme-service-category { font-size: .66rem; margin-bottom: 2px; }
}

.travelme-service-tile-icon { position: relative; width: 100%; height: auto; align-self: stretch; border-radius: 0; overflow: hidden; }
.travelme-service-tile > span:nth-child(2) { padding-block: 5px; }
.travelme-service-tile-icon img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 600px) {
  .travelme-service-rail { padding-block: 8px 2px; }
  .travelme-service-rail-head h2 { font-size: 16px; }
  .travelme-service-tile {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 3px;
    padding: 0 5px 0 0;
    border-radius: 6px;
    overflow: hidden;
  }
  .travelme-service-tile > span:nth-child(2) { padding-block: 3px; }
  .travelme-service-tile strong { font-size: .70rem; line-height: 1.1; }
  .travelme-service-tile small { font-size: .64rem; line-height: 1.1; margin-top: 1px; }
  .travelme-service-tile .travelme-service-category { font-size: .62rem; margin-bottom: 1px; }
  .travelme-service-tile small:last-child {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
#app .travelme-service-rail + .marketplace-listing { padding-top: 12px; }

.marketplace-listing .market-grid .reference-trip-card:not(:hover):not(:focus-within) { box-shadow: 0 2px 5px #123f3a14, 0 8px 20px #123f3a24; }

.travelme-skip {
  position: fixed; left: 12px; top: 12px; z-index: 1000;
  padding: 10px 14px; background: #fff; color: #123f3a;
  border-radius: 8px; transform: translateY(-180%);
}
.travelme-skip:focus { transform: none; }
#app :is(form, fieldset, .field, .stay-fields, .admin-card) { min-inline-size: 0; }
#app :is(form, .market-controls) :is(input, select, textarea) {
  box-sizing: border-box; min-inline-size: 0; max-inline-size: 100%;
}
#app :is(main, article, dialog, .admin-card) { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  #app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea),
  dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, textarea) { font-size: max(16px, 1em); }
  #app .field-grid > *, #app .stay-fields > * { min-inline-size: 0; }
  dialog[open] { max-block-size: calc(100dvh - 16px); }
}

#app #hotel-form [aria-invalid="true"] { border-color: #b3243a; outline: 1px solid #b3243a; }
#app #hotel-form small.hotel-field-error { display: block; margin-top: 4px; color: #9c1830; font-weight: 700; }

#app #hotel-form .hotel-time-trigger {
  display:flex; justify-content:space-between; align-items:center; gap:8px;
  width:100%; min-height:44px; padding:8px 12px; border:1px solid #94b1a6;
  border-radius:10px; background:#fffefa; color:#183e3c; font:inherit; cursor:pointer;
}
#app #hotel-form .hotel-time-options {
  display:grid; gap:8px; margin-top:6px; padding:10px;
  border:1px solid #c8d6cc; border-radius:10px; background:#fbfaf5;
}
#app #hotel-form .hotel-time-options[hidden] { display:none; }
#app #hotel-form .hotel-time-quick { display:flex; flex-wrap:wrap; gap:6px; }
#app #hotel-form .hotel-time-options button { min-height:40px; }


#app #hotel-form [data-hotel-section-save] {
  min-height: 44px;
  margin-top: 14px;
  padding: 9px 18px;
  border: 1px solid #0e514a;
  border-radius: 9px;
  background: #0e514a;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
#app #hotel-form [data-hotel-section-save]:hover:not(:disabled) { background: #18675c; }
#app #hotel-form [data-hotel-section-save]:focus-visible { outline: 2px solid #0e514a; outline-offset: 3px; }
#app #hotel-form [data-hotel-section-save]:disabled { opacity: .65; cursor: wait; }

#hotel-form .hotel-photo-thumbnail { position: relative; display: inline-flex; }
#hotel-form [data-remove-hotel-photo] {
  position: absolute; top: 0; right: 0; display: grid; place-items: start end;
  width: 24px; height: 24px; padding: 1px 3px 0 0; border: 0;
  background: transparent; color: #fff; text-shadow: 0 1px 3px #000, 0 0 2px #000;
  font: 700 13px/1 sans-serif; cursor: pointer;
}
#hotel-form [data-remove-hotel-photo]:hover { color: #ffd0d0; }

#hotel-form .hotel-season-trigger { width:100%; min-height:44px; justify-content:flex-start; border-radius:9px; }
#hotel-form .season-coverage:has(.hotel-season-picker:not([hidden])) { overflow:visible; }
#hotel-form .hotel-season-range { position:relative; }
#hotel-form .hotel-season-picker {
  position:absolute;
  z-index:40;
  inset-block-start:calc(100% + 6px);
  inset-inline-start:0;
  display:grid;
  gap:8px;
  box-sizing:border-box;
  width:min(280px,100%);
  padding:10px;
  border:1px solid #a5c9c1;
  border-radius:12px;
  background:#f5faf8;
  box-shadow:0 8px 24px #123f3a33;
}
#hotel-form .hotel-season-picker[hidden] { display:none; }
#hotel-form .hotel-season-picker label { display:grid; gap:4px; }

#hotel-form .hotel-season-nav { display:flex; align-items:center; justify-content:space-between; gap:4px; }
#hotel-form .hotel-season-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; text-align:center; }
#hotel-form :is(.hotel-season-nav,.hotel-season-days) button { min-height:30px; padding:0; border:1px solid #c8d6cc; border-radius:5px; background:#fffefa; color:#183e3c; cursor:pointer; }
#hotel-form .hotel-season-nav button { min-width:32px; }
#hotel-form .hotel-season-days .hotel-season-between { background:#e0f1e9; }
#hotel-form .hotel-season-days button[aria-pressed="true"] { background:#14564c; color:white; }

#app #hotel-form .hotel-details-body > .field-grid,
#app #hotel-form .hotel-room-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  align-items: start;
  gap: 10px 12px;
}
#app #hotel-form .hotel-room-body > :is(.room-editor-heading,.hotel-rates,.room-gallery-admin,[data-hotel-section-save]),
#app #hotel-form .hotel-details-body > .field-grid > .field.full { grid-column: 1 / -1; }
#app #hotel-form .hotel-room-body > [data-hotel-section-save] { justify-self: start; }
#app #hotel-form .hotel-room-body > .field,
#app #hotel-form .hotel-details-body > .field-grid > .field { min-width: 0; margin: 0; }
#app #hotel-form :is(input:not([type=file]),select,textarea,.hotel-time-trigger) { min-height: 40px; }
#app #hotel-form textarea { min-height: 64px; resize: vertical; }
#app #hotel-form .hotel-details-body { padding-top: 12px; }
#app #hotel-form .room-gallery-admin { margin-top: 4px; padding-top: 8px; gap: 6px; }
#app #hotel-form .hotel-room-body .rate-group { padding: 10px; }
#app #hotel-form .rate-group .field-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
#app #hotel-form .hotel-room-body > .room-occupancy-field input { max-width: 8rem; }
@media (max-width: 480px) {
  #app #hotel-form :is(input:not([type=file]),select,textarea,.hotel-time-trigger) { min-height: 44px; }
  #app #hotel-form .hotel-details-body > .field-grid,
  #app #hotel-form .hotel-room-body { gap: 8px; }
}

#app #hotel-form .hotel-details-body > .field-grid > .field:has(> :is([name="taytayArea"], #hotel-stars, #hotel-discount-percent, .hotel-time-trigger)) > :is(label, [id$="-label"]) {
  display: flex;
  align-items: flex-end;
  min-block-size: 2.6em;
  margin: 0 0 4px;
  color: #183e3c;
  font: 700 12px/1.3 var(--sans);
}
#app #hotel-form .hotel-details-body :is([name="taytayArea"], #hotel-stars, #hotel-discount-percent, .hotel-time-trigger) {
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  margin: 0;
}
#app #hotel-form .hotel-details-body .field > small { font-size: 11px; line-height: 1.35; }
@media (max-width: 480px) {
  #app #hotel-form .hotel-details-body :is([name="taytayArea"], #hotel-stars, #hotel-discount-percent, .hotel-time-trigger) { height: 44px; }
}

#app #hotel-form .hotel-name-field input {
  width: auto;
  max-width: 100%;
  justify-self: start;
}
@supports (field-sizing: content) {
  #app #hotel-form .hotel-name-field input {
    field-sizing: content;
    min-width: min(100%, 15rem);
  }
}

/* Shared field appearance for public booking and staff forms. */
:is(#app, #manager, .travelme-cart, .travelme-tour-detail-modal) :is(
  input:not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image]),
  select, textarea, .destination-picker-trigger, .hotel-time-trigger, .hotel-season-trigger,
  [data-stay-calendar] > summary, [data-stay-party] > summary
):not(.search-box input) {
  background-color: #fffefa;
  border-color: #d6e5e5;
  color: #183e3c;
  border-radius: 999px;
}
:is(#app, #manager, .travelme-cart, .travelme-tour-detail-modal) textarea {
  border-radius: 16px;
  padding-inline: 14px;
}
#app #hotel-form :is(input:not([type=hidden],[type=file],[type=checkbox],[type=radio],[type=range]), select, .hotel-time-trigger, .hotel-season-trigger, .destination-picker-trigger) {
  background-color: #fffefa;
  border-color: #d6e5e5;
  border-radius: 999px;
}
#app #hotel-form textarea { border-radius: 16px; }
#app #hotel-form [aria-invalid="true"] { border-color: #b3243a; }

#app #hotel-form .hotel-description-amenities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 12px;
}
#app #hotel-form .hotel-description-amenities > .field { grid-column: auto; margin: 0; min-width: 0; }
#app #hotel-form .hotel-description-amenities textarea { min-height: 82px; }

@media (max-width: 650px) {
  #app #hotel-form .hotel-description-amenities { grid-template-columns: minmax(0, 1fr); }
}

#app #hotel-form .hotel-location-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: 8px 12px;
  align-items: start;
}
#app #hotel-form .hotel-location-fields > .field { grid-column: auto; min-width: 0; margin: 0; }
#app #hotel-form .hotel-location-fields :is(.destination-picker-trigger, #hotel-address) { min-height: 44px; }
@media (max-width: 650px) {
  #app #hotel-form .hotel-location-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Match the hotel editor across Admin forms. */
#app .admin-shell, #app .admin-auth-shell {
  --travelme-glass: #c7e4da;
  --travelme-glass-raised: #c7e4da;
  --travelme-glass-edge: #a4cbbf;
}
#app .admin-shell :is(.admin-form-modal-dialog, .tour-package-modal),
#app .admin-shell form,
#app .admin-auth-card {
  background: #c7e4da;
  border-color: #a4cbbf;
  color: #183e3c;
}
#app .admin-shell form :is(.taytay-admin-collapse-body, .room-editor-body, .season-coverage-body) {
  background: #d8ede5;
}
#app .admin-shell :is(form, .admin-card) :is(summary.collapse-summary, summary.taytay-admin-collapse-summary) {
  background: #14564c;
  border-color: #27695d;
  color: #f3fffc;
}
#app .admin-shell :is(summary.collapse-summary, summary.taytay-admin-collapse-summary) :is(h2,h3,span) {
  color: inherit;
}
#app .admin-shell :is(summary.collapse-summary, summary.taytay-admin-collapse-summary)::after {
  color: #f3fffc;
  border-color: #79aea3;
}
#app :is(.admin-shell form, .admin-auth-card) :is(
  input:not([type=hidden],[type=file],[type=checkbox],[type=radio],[type=range],[type=color],[type=submit],[type=button],[type=reset],[type=image]),
  select, .destination-picker-trigger
) {
  background-color: #fffefa;
  border-color: #d6e5e5;
  border-radius: 999px;
  color: #183e3c;
}
#app :is(.admin-shell form, .admin-auth-card) textarea {
  background-color: #fffefa;
  border-color: #d6e5e5;
  border-radius: 16px;
  color: #183e3c;
}
#app :is(.admin-shell form, .admin-auth-card) [aria-invalid="true"] { border-color: #b3243a; }


.travelme-booking-form .travelme-middle-initial {
  width:100%;
  max-width:76px;
}
.travelme-booking-form .travelme-middle-initial input {
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.travelme-booking-resend { justify-self:start; min-height:44px; }
.travelme-booking-resend:active:not(:disabled) { background:#d8efe7; transform:scale(.97); }
.travelme-booking-resend:disabled { background:#e2f2ec; color:#315b58; cursor:wait; }
.travelme-resend-status:not(:empty) { padding:10px 12px; border-radius:10px; background:#e2f2ec; }

.admin-booking-count:not([hidden]) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:21px;
  min-height:21px;
  margin-inline-start:8px;
  padding-inline:5px;
  border-radius:999px;
  background:#b92538;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
}

#package-form .airfare-rate-field[hidden] { display:none !important; }

#package-form [data-guest-rate-inputs][hidden] { display:none; }
.tour-age-brackets { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px 16px; }
.tour-age-brackets label { display:grid;gap:4px; }
.tour-age-brackets input { width:100%;accent-color:#08736b; }
.tour-age-brackets small { grid-column:1/-1; }

/* Compact layout for the tour package editor. */
.tour-package-modal #package-form { padding:clamp(12px,2vw,18px); }
#package-form .tour-package-details > .field-grid { gap:10px 14px; align-items:start; }
#package-form .package-promo-countdown input { width:100%; max-width:19rem; min-width:0; }
#package-form .guest-rate-fields { padding:12px; }
#package-form .guest-rate-fields .field-grid { gap:8px 12px; }
#package-form textarea { min-height:76px; }
#package-form textarea:is([name="inclusions"], [name="exclusions"], [name="dayText"]) { min-height:132px; }
#app #package-form textarea:is([name="description"], [name="gallery"], [name="inclusions"], [name="exclusions"], [name="dayText"]) { border-radius:8px; }
@media (min-width:761px) {
  #package-form .tour-package-details > .field-grid > :is(.field:has(textarea[name="description"]),.package-cover-field) { grid-column:auto; }
  #package-form .guest-rate-fields .field-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:650px) {
  #package-form .package-promo-countdown input { max-width:100%; }
}

#package-form .package-promo-row { display:grid; gap:10px 14px; align-items:start; }
@media (min-width:761px) {
  #package-form .package-promo-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

.itinerary-meals { min-width:0; margin:0; padding:6px 10px 10px; border:1px solid #d6e5e5; border-radius:8px; display:flex; flex-wrap:wrap; gap:8px 14px; }
.itinerary-meals legend { font-weight:700; padding-inline:4px; }
#package-form .itinerary-meals label { display:inline-flex; align-items:center; gap:6px; margin:0; }
#package-form .itinerary-meals input[type="checkbox"] { width:16px; height:16px; margin:0; accent-color:#14564c; }

.itinerary-description-list { list-style:disc; padding-inline-start:1.35em; margin-block:6px 10px; }

.analytics-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.analytics-chart{display:flex;gap:4px;overflow-x:auto;margin:10px 0}
.analytics-day{display:grid;grid-template-rows:120px auto;justify-items:center;flex:1 0 19px;gap:4px}
.analytics-day span{align-self:end;width:75%;height:var(--bar-height);background:#08736b;border-radius:4px 4px 0 0}
[data-analytics-result] table{width:100%;border-collapse:collapse;margin-block:8px 16px}
[data-analytics-result] :is(th,td){text-align:start;padding:8px;border-bottom:1px solid #a7d0c3}
[data-analytics-result] :is(th,td):last-child{text-align:end}

.analytics-controls label[hidden]{display:none}

.analytics-dashboard { padding:clamp(12px,3vw,24px); }
.analytics-controls label:not([hidden]) { display:grid; gap:5px; }
.analytics-controls :is(select,input) { min-height:44px; padding:6px 12px; }
.analytics-metrics,.analytics-panels { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
.analytics-metrics { margin-bottom:12px; }
.analytics-metrics > div,.analytics-panels > section { min-width:0; padding:clamp(12px,2vw,20px); border:1px solid #b6d2c8; border-radius:14px; background:#f7fcfa; }
.analytics-metrics strong { display:block; font-size:clamp(22px,4vw,34px); }
.analytics-panels { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
.analytics-panels h3 { margin:0 0 6px; }
.analytics-empty { margin:12px 0; color:#42666a; }
.analytics-day:hover span { background:#12564c; }
.admin-booking-remove { margin-top:12px; }
.admin-booking-remove summary { color:#a12030; cursor:pointer; font-weight:700; }
.admin-booking-remove form { margin-top:8px; max-width:420px; }
@media(max-width:760px){.analytics-panels { grid-template-columns:minmax(0,1fr); }}

#admin-panel.admin-overview {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.admin-overview > :is(.admin-overview-heading,p,.analytics-dashboard,.admin-card:last-child) { grid-column:1/-1; }
.admin-overview > :is(p,.admin-card) { margin:0; }
.admin-overview-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.admin-overview-heading h1 { margin:0; font-size:clamp(22px,3vw,30px); }
.admin-overview > .site-backup-card { grid-column:1/-1; }
.site-backup-card p { margin:6px 0; font-size:13px; }
.site-backup-card details { margin-top:10px; }
.site-backup-card summary { cursor:pointer; font-weight:700; }
.site-backup-form { display:flex; flex-wrap:wrap; gap:8px; align-items:end; margin-block:8px; }
.site-backup-form label { display:grid; gap:4px; min-width:0; }
.site-backup-form :is(select,input) { max-width:100%; }
.admin-overview > .admin-card { min-width:0; padding:12px; }
.admin-overview .analytics-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.admin-overview .analytics-heading h2,.admin-overview .analytics-controls { margin:0; }
.admin-overview .analytics-controls label:not([hidden]) { display:flex; align-items:center; flex-wrap:wrap; }
.admin-overview .analytics-controls :is(select,input) { min-height:36px; max-width:100%; }
.admin-overview .analytics-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.admin-overview .analytics-metrics > div,.admin-overview .analytics-panels > section,.admin-overview .analytics-location { padding:9px; }
.admin-overview .analytics-metrics span { font-size:12px; }
.admin-overview .analytics-metrics strong { font-size:clamp(17px,3vw,24px); overflow-wrap:anywhere; }
.admin-overview .analytics-day { grid-template-rows:80px auto; }
.admin-overview .analytics-location > summary { cursor:pointer; font-weight:700; }
.admin-overview [data-analytics-result] :is(th,td) { padding:5px; overflow-wrap:anywhere; }
@media(max-width:620px){#admin-panel.admin-overview { grid-template-columns:minmax(0,1fr); }}

.reference-trip-content:has(> .reference-tour-type) { position:relative; padding-block-start:28px; }
.reference-trip-content > .reference-tour-type {
  position:absolute;
  left:10px;
  top:0;
  transform:translateY(-70%);
  z-index:1;
  max-width:calc(100% - 20px);
  box-sizing:border-box;
  padding:5px 9px;
  border-radius:999px;
  background:#fff;
  color:#a52131;
  box-shadow:0 1px 4px #142b3424;
  font-size:clamp(10px,1.4vw,12px);
  line-height:1.2;
  font-weight:800;
  overflow-wrap:anywhere;
}

.travelme-card-actions { display:grid; grid-template-columns:minmax(0,1fr); }
#app .travelme-card-actions :is(.reference-view,.travelme-card-cart-link),
.travelme-card-actions :is(.reference-view,.travelme-card-cart-link) {
  box-sizing:border-box;
  width:100%;
  min-height:36px;
  justify-content:center;
  padding:6px 10px;
  border-width:1px;
  border-style:solid;
  font:750 11px/1.2 var(--sans);
  text-align:center;
}
.travelme-card-actions .reference-view { border-color:transparent; }

@media (max-width: 650px) {
  .reference-trip-bottom > .travelme-card-actions {
    flex:1 0 100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #app .travelme-card-actions :is(.reference-view,.travelme-card-cart-link),
  .travelme-card-actions :is(.reference-view,.travelme-card-cart-link) {
    min-width:0;
    padding-inline:3px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
}


.analytics-location { margin-top:12px; padding:clamp(12px,2vw,20px); border:1px solid #b6d2c8; border-radius:14px; background:#f7fcfa; overflow-wrap:anywhere; }
.analytics-location h3 { margin-top:0; }

#package-form .field[hidden]:has(> input[name="regularPrice"]) { display:none; }

#package-form .tour-package-coverage { margin:8px 0; }
#package-form .tour-package-coverage > .field-grid { padding:10px 6px 6px; }

.review-avatar { position:relative; }
.review-avatar > img[data-review-avatar] { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.taytay-hotline-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.taytay-hotline-card > div { min-width:0; }
.taytay-hotline-card h3,.taytay-hotline-numbers a { overflow-wrap:anywhere; }
@media (max-width: 767px) {
  .taytay-hotline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .taytay-hotline-card { flex-direction:column; padding:10px; }
}

.taytay-events-grid .taytay-event { border-radius:10px; }
.taytay-events-grid .taytay-event-photo { min-height:0; padding:5px; }
.taytay-events-grid .taytay-event-card { padding:clamp(5px,1vw,10px); }
.taytay-events-grid .taytay-event-card h3 { font-size:clamp(12px,1.5vw,17px); margin:3px 0 5px; }
.taytay-events-grid .taytay-event-card p { font-size:clamp(11px,1.15vw,13px); line-height:1.36; }
.taytay-events-grid .taytay-event-date { font-size:clamp(10px,1.1vw,12px); padding:3px 5px; }

.taytay-related-heading { margin-bottom:12px; }
.taytay-related-heading h2 { font-size:clamp(21px,2.6vw,32px); }
.taytay-related-track { gap:10px; }
.taytay-related-track > .trip-card { flex-basis:clamp(170px,18vw,212px); }
.taytay-related-track .trip-photo { height:clamp(100px,11vw,128px); }
.taytay-related-track .reference-trip-content:has(> .reference-tour-type) { padding:20px 10px 10px; }
.taytay-related-track .reference-trip-content h3 { font-size:.85rem; }
.taytay-related-track .reference-trip-bottom { gap:6px; padding-top:8px; }
.taytay-related-track .reference-trip-bottom > .travelme-card-actions {
  flex:1 0 100%;
  min-width:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#app .taytay-related-track .travelme-card-actions :is(.reference-view,.travelme-card-cart-link) {
  min-width:0;
  min-height:34px;
  padding-inline:3px;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media (max-width:640px) {
  .travelme-taytay-active .taytay-related-track > .trip-card { flex-basis:clamp(138px,47vw,176px); }
  .taytay-related-track .trip-photo { height:clamp(88px,26vw,104px); }
}

#app textarea#about-inquiry-message { border-radius:8px; }

#app :is(#manual-review-form, #review-links-form, #reviews-page-copy-form)
  :is(input:not([type=hidden],[type=file],[type=checkbox],[type=radio]), select, textarea) {
  border-radius:8px;
}

@media (max-width:767px) {
  .taytay-barangay-layout > .taytay-barangay-guide { order:-1; }
}
