/* Integration layer for the isolated public theme. Admin views never load this bundle. */
body.asia-scenic-frontend{font-family:Lato,Helvetica,Arial,sans-serif}
.ci4-home-title{font-weight:400}
.ci4-album-title{font-size:24px;line-height:1.3}
body.asia-scenic-frontend.mobile-menu-open{overflow:hidden}
body.asia-scenic-frontend .site.open{transform:none}
body.asia-scenic-frontend .site.open:before{position:fixed;height:100vh;height:100dvh}
body.asia-scenic-frontend .slideout-menu{z-index:100001;background:#fff;max-width:calc(100% - 44px);overscroll-behavior:contain}
body.asia-scenic-frontend .site.open~.fh-fixed--bottom{visibility:hidden}
.mobile-menu>ul.menu li.dropdown>a{padding-right:58px}
.mobile-menu>ul.menu li.dropdown>.sub-menu-toggle{margin:0;padding:0;border:0;border-radius:0;color:#5e5a54;font-size:18px;letter-spacing:0}
.ci3-brand-copy{margin:-95px 0 0 177px;font-family:"Frank Ruhl Libre",serif;position:absolute;white-space:nowrap}
.ci3-mobile-header{width:100%;padding:0 30px}.ci3-mobile-row{align-items:center;display:flex}
#open-left{border:0;background:transparent;padding:0;color:inherit}
/* Use the compact header until the desktop logo and navigation have enough room. */
@media(max-width:1199px){
    body.asia-scenic-frontend header.header-desktop{display:none}
    body.asia-scenic-frontend header.header-mobile{display:block}
    .ci3-brand-copy{display:none}
    #open-left{min-width:44px;min-height:44px;line-height:1}
    .ci3-mobile-row>div:first-child{flex:1;min-width:0;width:auto}
    .ci3-mobile-row>div:last-child{flex:0 0 74px;width:74px}
}
@media(min-width:1200px){
    body.asia-scenic-frontend .slideout-menu{display:none!important}
    body.asia-scenic-frontend .site.open{transform:none}
    body.asia-scenic-frontend .site.open:before{display:none}
}
.legacy-content img{max-width:100%;height:auto!important}.legacy-content table{max-width:100%!important}.legacy-content iframe{max-width:100%}
.fb-plugin iframe,.videoWrapper iframe{border:0}.ci3-tripadvisor{margin:15px 0}.ci3-tripadvisor img{max-width:100%}
.ci3-page-links{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.ci3-sub-page{padding:30px 0;border-top:1px solid #eee}
.ci3-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0}.ci3-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ci3-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.ci3-blog-card{border:1px solid #eee;background:#fff}.ci3-blog-card>a>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ci3-blog-card-body{padding:20px}.ci3-blog-card-body h2{font-size:24px}.ci3-post-date{color:#999;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.ci3-article-cover{width:100%;max-height:520px;object-fit:cover;margin-bottom:15px}
.ci3-shop-link{display:flex;justify-content:center}.ci3-shop-link>div{width:100%;max-width:400px;padding:0 15px}
@media(max-width:991px){.ci3-brand-copy{display:none}.ci3-blog-grid{grid-template-columns:1fr}.ci3-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.ci3-gallery{grid-template-columns:1fr}.ci3-mobile-header{padding:0 15px}}
.footer .footer-social .ci4-x-icon{width:1em;height:1em;vertical-align:-.125em}
/* The theme styles every <select> as a full-width block, which pushed flatpickr's year below the month out of view. */
.flatpickr-calendar .flatpickr-monthDropdown-months{display:inline-block;width:auto;height:auto;padding:0 0 0 .5ch;border:0;background-color:transparent}
.flatpickr-calendar .flatpickr-current-month .numInputWrapper{display:inline-block;width:7ch}
/* The theme's 40px-high padded number inputs knocked flatpickr's year field under the month; restore its own sizing. */
.flatpickr-calendar .flatpickr-current-month input.cur-year{display:inline-block;width:100%;height:auto;padding:0 0 0 .5ch;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;font-weight:300;line-height:inherit;vertical-align:initial}
.flatpickr-calendar .flatpickr-current-month .numInputWrapper:hover{background:rgba(0,0,0,.05)}
/* Time picker: undo the theme's padded number inputs, keep the spinner arrows visible (no hover on touch), and style the one-click slots. */
.flatpickr-calendar .flatpickr-time{height:52px;max-height:52px;line-height:52px}
.flatpickr-calendar .flatpickr-time input.numInput{height:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#393939;font-size:20px;line-height:inherit;text-align:center}
.flatpickr-calendar .flatpickr-time .numInputWrapper span{opacity:1;width:26px;border-color:#e3ddd8}
.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowUp:after{border-width:0 6px 6px;top:40%}
.flatpickr-calendar .flatpickr-time .numInputWrapper span.arrowDown:after{border-width:6px 6px 0;top:35%}
.flatpickr-calendar .time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;border-top:1px solid #e6e6e6}
.flatpickr-calendar .time-slots button{padding:9px 0;border:1px solid #e3ddd8;border-radius:3px;background:#f4f1ee;color:#393939;font-size:14px;font-weight:normal;line-height:1.2;letter-spacing:0;transition:none}
.flatpickr-calendar .time-slots button:hover,.flatpickr-calendar .time-slots button:focus-visible{background:#dad5d2;opacity:1}
.flatpickr-calendar .time-slots button.is-active{border-color:#A11819;background:#A11819;color:#fff}
body .flatpickr-calendar.open:not(.inline){z-index:100000}
/* Album detail: share bar (partials/share_bar.php), QR popup and masonry gallery. */
.share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:18px 0 22px;padding:14px 16px;border:1px solid #ece6e1;border-radius:10px;background:#faf8f6}
.share-bar__label{font-size:13px;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;color:#393939}
.share-bar__label .fa{margin-right:4px;color:#A11819}
.share-bar__buttons{display:flex;flex-wrap:wrap;gap:8px}
.share-bar .share-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;margin:0;padding:0 12px;border:0;border-radius:20px;background:#6b6b6b;color:#fff;font-size:16px;font-weight:bold;line-height:1;letter-spacing:0;text-decoration:none;transition:transform .15s,box-shadow .15s}
.share-bar .share-btn[hidden]{display:none}
.share-bar .share-btn span{font-size:13px}
.share-bar .share-btn svg{width:16px;height:16px}
.share-bar .share-btn:hover,.share-bar .share-btn:focus-visible{color:#fff;opacity:1;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.18)}
.share-bar .share-btn:focus-visible,.share-bar__link button:focus-visible{outline:2px solid #A11819;outline-offset:2px}
.share-btn--facebook{background:#1877f2!important}.share-btn--x{background:#000!important}.share-btn--line{background:#06c755!important}.share-btn--whatsapp{background:#25d366!important}.share-btn--native{background:#393939!important}.share-btn--qr{background:#A11819!important}
.share-bar__link{display:flex;flex:1 1 280px;min-width:0}
.share-bar__link input[type="text"]{flex:1 1 auto;min-width:0;height:40px;padding:0 14px;border:1px solid #e3ddd8;border-right:0;border-radius:20px 0 0 20px;background:#fff;color:#555;font-size:13px}
.share-bar__link button{flex:0 0 auto;height:40px;padding:0 16px;border:1px solid #393939;border-radius:0 20px 20px 0;background:#393939;color:#fff;font-size:13px;letter-spacing:0;white-space:nowrap;transition:background .15s}
.share-bar__link button:hover{opacity:1;background:#222}
.share-bar__link button.is-copied{border-color:#2e7d32;background:#2e7d32}
.share-qr-holder{display:none}
.share-qr{max-width:340px;padding:28px 28px 24px;border-radius:12px;text-align:center}
.share-qr__title{margin:0 0 14px;font-size:18px}
.share-qr__code{display:block;width:240px;max-width:100%;height:auto;margin:0 auto;border:1px solid #eee;border-radius:8px}
.share-qr__url{margin:12px 0 16px;font-size:12px;line-height:1.4;color:#777;word-break:break-all}
.share-qr__download{display:inline-block;text-decoration:none!important;padding:10px 20px;border-radius:20px;background:#A11819;color:#fff;font-size:14px;font-weight:bold}
.share-qr__download:hover,.share-qr__download:focus{color:#fff;opacity:.9}
.album-masonry{column-count:4;column-gap:14px;margin:22px 0 10px}
.album-masonry__item{position:relative;display:block;margin:0 0 14px;overflow:hidden;border-radius:8px;background:#f4f0ec;box-shadow:0 2px 8px rgba(0,0,0,.08);break-inside:avoid;-webkit-column-break-inside:avoid}
.album-masonry__item img{display:block;width:100%;height:auto;transition:transform .45s ease}
.album-masonry__item:after{content:"\f00e";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.28);color:#fff;font:normal 26px/1 FontAwesome;opacity:0;transition:opacity .3s}
.album-masonry__item:hover img,.album-masonry__item:focus-visible img{transform:scale(1.06)}
.album-masonry__item:hover:after,.album-masonry__item:focus-visible:after{opacity:1}
.album-masonry__item:focus-visible{outline:3px solid #A11819;outline-offset:2px}
@media(max-width:991px){.album-masonry{column-count:3}}
@media(max-width:575px){.album-masonry{column-count:2;column-gap:8px}.album-masonry__item{margin-bottom:8px;border-radius:6px}.share-bar{padding:12px}.share-bar .share-btn--qr span{display:none}}
@media(prefers-reduced-motion:reduce){.album-masonry__item img,.share-bar .share-btn{transition:none}}
/* Photo Album sidebar calendar (flatpickr inline, js/album-calendar.js): fluid to the sidebar width, album days dotted. */
.album-calendar{margin:24px 0 8px;padding:18px 16px 14px;border:1px solid #ece6e1;border-radius:12px;background:#fff;transition:opacity .2s}
.album-calendar.is-loading{opacity:.55;pointer-events:none}
.album-calendar__title{margin:0 0 4px;font-size:18px;color:#393939}
.album-calendar__title .fa{margin-right:6px;color:#A11819}
.album-calendar__hint{margin:0 0 12px;font-size:13px;line-height:1.45;color:#777}
.album-calendar .album-calendar__input{display:none}
.album-calendar .flatpickr-calendar.inline{width:100%;max-width:100%;margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.album-calendar .flatpickr-innerContainer,.album-calendar .flatpickr-rContainer,.album-calendar .flatpickr-days,.album-calendar .dayContainer{width:100%;min-width:0;max-width:none}
.album-calendar .flatpickr-months{position:relative;align-items:center;margin-bottom:6px}
.album-calendar .flatpickr-months .flatpickr-month{height:40px;color:#393939}
.album-calendar .flatpickr-current-month{height:40px;padding-top:9px;font-size:17px}
.album-calendar .flatpickr-months .flatpickr-prev-month,.album-calendar .flatpickr-months .flatpickr-next-month{top:4px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;color:#393939;fill:#393939}
.album-calendar .flatpickr-months .flatpickr-prev-month{left:0}.album-calendar .flatpickr-months .flatpickr-next-month{right:0}
.album-calendar .flatpickr-months .flatpickr-prev-month:hover,.album-calendar .flatpickr-months .flatpickr-next-month:hover{background:#f4f1ee}
.album-calendar .flatpickr-months .flatpickr-prev-month:hover svg,.album-calendar .flatpickr-months .flatpickr-next-month:hover svg{fill:#A11819}
.album-calendar .flatpickr-months .flatpickr-disabled{visibility:hidden}
.album-calendar span.flatpickr-weekday{font-size:12px;font-weight:bold;color:#999}
.album-calendar .flatpickr-day{position:relative;flex-basis:14.2857%;max-width:none;height:36px;margin:1px 0;border-radius:8px;color:#393939;font-size:14px;line-height:34px}
.album-calendar .flatpickr-day.flatpickr-disabled,.album-calendar .flatpickr-day.flatpickr-disabled:hover{color:#cfc8c2;cursor:default}
.album-calendar .flatpickr-day.has-album{font-weight:bold}
.album-calendar .flatpickr-day.has-album:after{content:"";position:absolute;bottom:4px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#A11819}
.album-calendar .flatpickr-day.has-album:hover,.album-calendar .flatpickr-day.has-album:focus{border-color:#f0d9d9;background:#fbeeee}
.album-calendar .flatpickr-day.today{border-color:#d9d0c9}
.album-calendar .flatpickr-day.selected,.album-calendar .flatpickr-day.selected:hover,.album-calendar .flatpickr-day.selected:focus{border-color:#A11819;background:#A11819;color:#fff}
.album-calendar .flatpickr-day.selected:after{background:#fff}
/* Recipe menu (partials/recipes.php): large dish cards, tap to zoom. */
.recipe-category{margin:0 0 38px}
.recipe-category__title{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px;font-size:21px;color:#393939;text-align:center}
.recipe-category__title:before,.recipe-category__title:after{content:"";flex:0 0 48px;height:1px;background:#d8cfc8}
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,215px));justify-content:center;gap:24px 22px}
.recipe-card{display:block;color:#393939;text-align:center;text-decoration:none}
.recipe-card:hover,.recipe-card:focus{color:#A11819;text-decoration:none}
.recipe-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f4f0ec}
.recipe-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.recipe-card__media:after{content:"\f00e";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);color:#fff;font:normal 26px/1 FontAwesome;opacity:0;transition:opacity .3s}
.recipe-card:hover .recipe-card__media img,.recipe-card:focus-visible .recipe-card__media img{transform:scale(1.07)}
.recipe-card:hover .recipe-card__media:after,.recipe-card:focus-visible .recipe-card__media:after{opacity:1}
.recipe-card:focus-visible{outline:3px solid #A11819;outline-offset:3px;border-radius:12px}
.recipe-card__name{display:block;margin-top:10px;font-size:15px;font-weight:bold;line-height:1.35;text-transform:capitalize;transition:color .2s}
.custom-gallery .gallery-image a{cursor:zoom-in}
@media(max-width:575px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.recipe-category__title{font-size:18px}.recipe-category__title:before,.recipe-category__title:after{flex-basis:28px}}
@media(prefers-reduced-motion:reduce){.recipe-card__media img{transition:none}}
/* Course gallery: on phones the floated full-width title column squeezed this flex box to 0px (photos invisible, also on asiascenic.com). */
.custom-gallery{clear:both}
/* Album detail: "Save all photos" ZIP download (SiteController::photoAlbumDownload). */
.album-download{margin:-8px 0 20px}
.album-download__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid #A11819;border-radius:22px;background:#fff;color:#A11819;font-size:14px;font-weight:bold;text-decoration:none!important;transition:background .15s,color .15s}
.album-download__btn span{font-weight:normal;opacity:.8}
.album-download__btn:hover,.album-download__btn:focus{background:#A11819;color:#fff}
.album-download__btn:focus-visible{outline:2px solid #A11819;outline-offset:2px}
/* Photo Album list: image cards with class date and photo count. */
.album-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;margin:10px 0 30px}
.album-card{display:flex;flex-direction:column;color:#393939;text-decoration:none!important}
.album-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f4f0ec}
.album-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.album-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.45));pointer-events:none}
.album-card__date,.album-card__count{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:bold;line-height:1.4}
.album-card__date{top:10px;left:10px;background:rgba(255,255,255,.94);color:#393939}
.album-card__count{right:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff}
.album-card__title{display:-webkit-box;margin-top:10px;overflow:hidden;font-size:15px;font-weight:bold;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .2s}
.album-card:hover .album-card__media img,.album-card:focus-visible .album-card__media img{transform:scale(1.06)}
.album-card:hover .album-card__title,.album-card:focus-visible .album-card__title{color:#A11819}
.album-card:focus-visible{outline:3px solid #A11819;outline-offset:4px;border-radius:12px}
@media(max-width:991px){.album-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.album-cards{gap:18px 12px}.album-card__title{font-size:14px}.album-card__date{font-size:11px;padding:3px 8px}}
/* Course pages: photos full width above the booking button and details. */
.course-gallery--full .gallery-item:first-child .gallery-image a{padding-bottom:52%}
.course-gallery--full .gallery-item:nth-child(n+2) .gallery-image a{padding-bottom:62%}
.course-gallery--full .gallery-image a{border-radius:8px}
.course-gallery--full{padding-bottom:25px}
.course-detail{max-width:820px}
/* FAQ page (partials/main_faq.php). */
.faq-list{max-width:860px;margin:10px auto 0}
.faq-item{margin:0 0 12px;border:1px solid #ece6e1;border-radius:10px;background:#fff;transition:border-color .2s}
.faq-item[open]{border-color:#e0cfc6}
.faq-item__question{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;cursor:pointer;list-style:none;font-size:17px;font-weight:bold;color:#393939}
.faq-item__question::-webkit-details-marker{display:none}
.faq-item__question .fa{flex:0 0 auto;color:#A11819;transition:transform .2s}
.faq-item[open] .faq-item__question .fa{transform:rotate(45deg)}
.faq-item__question:hover{color:#A11819}
.faq-item__question:focus-visible{outline:2px solid #A11819;outline-offset:-2px;border-radius:10px}
.faq-item__answer{padding:0 20px 16px;color:#555;line-height:1.7}
.faq-item__answer p:last-child{margin-bottom:0}
.faq-more{margin:30px 0 10px;text-align:center}
.faq-more p{margin-bottom:10px;font-weight:bold}
/* Home: Google reviews (partials/google_reviews.php), above the shop. */
.google-reviews{padding:90px 0 96px;background:#fff}
.google-reviews .section-title{margin-bottom:6px}
.google-reviews__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:22px 0 18px;font-size:15px;color:#555}
.google-reviews__logo svg{display:block;width:28px;height:28px}
.google-reviews__score{font-size:28px;line-height:1;color:#393939}
.google-reviews__stars,.google-review__stars{color:#f5b400;letter-spacing:1px}
.google-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.google-review{display:flex;flex-direction:column;padding:20px;border:1px solid #ece6e1;border-radius:12px;background:#faf8f6}
.google-review__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.google-review__avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;object-fit:cover}
.google-review__avatar--initial{display:flex;align-items:center;justify-content:center;background:#A11819;color:#fff;font-weight:bold;font-size:18px}
.google-review__name{display:block;color:#393939;line-height:1.3}
.google-review__time{display:block;font-size:12px;color:#888}
.google-review__g{margin-left:auto}.google-review__g svg{display:block;width:20px;height:20px}
.google-review__text{display:-webkit-box;margin:8px 0 0;overflow:hidden;color:#555;line-height:1.65;-webkit-line-clamp:6;-webkit-box-orient:vertical}
.google-reviews__empty{max-width:560px;margin:0 auto 6px;line-height:1.7;text-align:center;color:#666}
.google-reviews__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}
.google-reviews__btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:1px solid #393939;border-radius:24px;color:#393939;font-size:14px;font-weight:bold;text-decoration:none!important;transition:background .15s,color .15s}
.google-reviews__btn:hover,.google-reviews__btn:focus{background:#393939;color:#fff}
.google-reviews__btn--primary{border-color:#A11819;background:#A11819;color:#fff}
.google-reviews__btn--primary:hover,.google-reviews__btn--primary:focus{border-color:#861314;background:#861314;color:#fff}
.google-reviews__btn:focus-visible{outline:2px solid #A11819;outline-offset:2px}
@media(max-width:991px){.google-reviews__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.google-reviews__grid{grid-template-columns:1fr}.faq-item__question{padding:14px 16px;font-size:16px}.faq-item__answer{padding:0 16px 14px}}
@media(prefers-reduced-motion:reduce){.album-card__media img{transition:none}}
/* FAQ polish: readable answers, visible links, contact card instead of the theme's full-width button. */
.faq-intro,.album-head__intro{max-width:640px;margin:-18px auto 28px;text-align:center;color:#666;font-size:15px;line-height:1.7}
.faq-item__question{font-size:16px}
.faq-item[open] .faq-item__question{color:#A11819}
.faq .faq-item__answer,.faq .faq-item__answer p{font-size:15px;line-height:1.75;color:#555}
.faq-item__answer a,.faq-more p a{color:#A11819;text-decoration:underline;text-underline-offset:2px}
.faq-item__answer a:hover,.faq-more p a:hover{color:#861314}
.faq-more{max-width:860px;margin:34px auto 10px;padding:26px 24px;border-radius:12px;background:#faf8f6;border:1px solid #ece6e1;text-align:center}
.faq-more__title{margin:0 0 6px;font-size:22px;color:#393939}
.faq-more p{margin:0 0 16px;font-weight:normal;color:#555}
.faq-more__btn{display:inline-flex;align-items:center;gap:8px;padding:11px 26px;border-radius:24px;background:#A11819;color:#fff!important;font-size:14px;font-weight:bold;text-decoration:none!important;transition:background .15s}
.faq-more__btn:hover,.faq-more__btn:focus{background:#861314}
.faq-more__btn:focus-visible{outline:2px solid #A11819;outline-offset:2px}
/* Photo Album list polish. */
.album-head{margin-bottom:6px}
.album-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 22px;padding:12px 16px;border-radius:10px;background:#fbeeee;color:#393939}
.album-filter .fa{color:#A11819;margin-right:4px}
.album-filter a{color:#A11819;font-weight:bold;text-decoration:none}
.album-filter a:hover{text-decoration:underline}
.album-empty{margin:10px 0 30px;text-align:center;color:#666}
.ci4-pagination .pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0 20px;padding:0}
.ci4-pagination .pagination li{list-style:none;margin:0}
.ci4-pagination .pagination li a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid #e3ddd8;border-radius:20px;background:#fff;color:#393939;font-weight:bold;text-decoration:none;transition:background .15s,color .15s}
.ci4-pagination .pagination li a:hover{border-color:#A11819;color:#A11819}
.ci4-pagination .pagination li.active a{border-color:#A11819;background:#A11819;color:#fff;pointer-events:none}
.ci4-pagination .pagination li a:focus-visible{outline:2px solid #A11819;outline-offset:2px}
.album-head__intro a{color:#A11819;text-decoration:underline;text-underline-offset:2px}
#album-calendar{scroll-margin-top:110px}
@media(max-width:767px){.google-reviews{padding:60px 0 64px}.google-reviews__actions{flex-direction:column;align-items:center}.google-reviews__btn{min-width:260px;justify-content:center}}
/* Course gallery: 5 thumbnails under the main photo (theme showed 3); the "+" overlay moves to the 5th and only shows when more photos follow. */
.course-gallery--full .gallery-item:nth-child(n+2){width:20%}
.course-gallery--full .gallery-item:nth-child(5),.course-gallery--full .gallery-item:nth-child(6){display:block}
.course-gallery--full .gallery-item:nth-child(n+7){display:none}
.course-gallery--full .gallery-item:nth-child(4) a{background-color:transparent}
.course-gallery--full .gallery-item:nth-child(4) a:before{content:none}
.course-gallery--full .gallery-item:nth-child(6):not(:last-child) a{background-color:#000}
.course-gallery--full .gallery-item:nth-child(6):not(:last-child) a:before{content:'';position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background:rgba(0,0,0,.6) url(../images/zoom.png) no-repeat center center;pointer-events:none}
.course-gallery--full .gallery-item:nth-child(n+2) .gallery-image a{padding-bottom:75%}
@media(max-width:575px){.course-gallery--full .gallery-item:nth-child(n+2){padding-left:3px!important;padding-right:3px!important}.course-gallery--full .gallery-item:nth-child(n+2) .gallery-image a{padding-bottom:85%;border-radius:5px}}
/* FareHarbor buttons: the three fh-kit classes the site uses, copied from fh-kit v2 (red=A11718)
   so its 366 KB render-blocking stylesheet is no longer needed. */
.fh-button-true-flat-red{display:inline-block;margin:0;padding:.2em 1em;border:0;border-radius:4px;background-color:#A11718;color:#fff!important;font:500 20px/2 "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none!important;text-shadow:none;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}
.fh-button-true-flat-red:hover,.fh-button-true-flat-red:active,.fh-button-true-flat-red:focus{background-color:#741111;color:#fff!important}
.fh-button-true-flat-red:focus-visible{outline:3px solid #f5b400;outline-offset:2px}
.fh-icon--cal:before{content:"";display:inline-block;position:relative;top:.1em;width:1em;height:1em;margin:0 .4em 0 -.1em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.5 20'%3E%3Cpath fill='%23fff' d='M17.4,2.9h-3.2V0h-1.4v2.9H5.7V0H4.3v2.9H1.1C0.6,2.9,0,3.2,0,3.7v1.9h18.5V3.7C18.5,3.3,17.8,2.9,17.4,2.9z M0,19.1C0,19.6,0.4,20,0.9,20h16.7c0.5,0,0.9-0.4,0.9-0.9V5.7H0V19.1z M14.2,7.1H17V10h-2.8V7.1z M14.2,11.4H17v2.8h-2.8V11.4z M14.2,15.6H17v2.9h-2.8V15.6z M10,7.1h2.8V10H10V7.1z M10,11.4h2.8v2.8H10V11.4z M10,15.7h2.8v2.8H10V15.7z M5.7,7.1h2.8V10H5.7V7.1z M5.7,11.4h2.8v2.8H5.7V11.4z M5.7,15.7h2.8v2.8H5.7V15.7z M1.4,7.1h2.8V10H1.4V7.1z M1.4,11.4h2.8v2.8H1.4V11.4z M1.4,15.7h2.8v2.8H1.4V15.7z'/%3E%3C/svg%3E") center/contain no-repeat}
.fh-fixed--bottom{position:fixed;right:20px;bottom:20px;z-index:99999;box-shadow:0 2px 10px 0 rgba(161,23,24,.3);transition:all .12s ease}
@media(max-width:768px){.fh-fixed--bottom{left:0;right:0;margin:0 15%}}
/* Sidebar click-to-load embeds (partials/sidebar.php + js/lazy-embeds.js). */
.embed-facade__btn{display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:0;text-align:center;cursor:pointer}
.embed-facade__btn:hover{opacity:1}
.embed-facade--facebook .embed-facade__btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:260px;max-width:100%;padding:18px 16px;border:1px solid #dde1e7;border-radius:10px;background:#fff;color:#1c1e21;transition:border-color .15s,box-shadow .15s}
.embed-facade--facebook .embed-facade__btn:hover,.embed-facade--facebook .embed-facade__btn:focus-visible{border-color:#1877f2;box-shadow:0 2px 10px rgba(24,119,242,.15)}
.embed-facade--facebook .embed-facade__btn:focus-visible{outline:2px solid #1877f2;outline-offset:2px}
.embed-facade__fb-logo svg{display:block;width:34px;height:34px;color:#1877f2}
.embed-facade__name{font-size:16px;line-height:1.3}
.embed-facade__hint{font-size:13px;color:#65676b}
.embed-facade__cta{margin-top:6px;padding:6px 14px;border-radius:6px;background:#1877f2;color:#fff;font-size:13px;font-weight:bold}
.embed-facade--facebook{margin-bottom:12px}
.embed-facade--facebook.is-loaded{margin-bottom:0}
@media (max-width:767.98px){.embed-facade--facebook .embed-facade__btn{width:100%}.fb-plugin iframe{width:100%;max-width:500px}}
/* Home shop cards: two per row on phones (col-xs-6); every odd card starts a new row so a two-line title can't snag the float grid. */
@media (max-width:991.98px){.ci3-shop-cards>.col-xs-6:nth-child(odd){clear:left}}
@media (max-width:767.98px){.ci3-shop-cards .organik-featured-category .image{height:190px}.ci3-shop-cards .organik-featured-category .title{padding:14px 0 8px;font-size:15px;line-height:1.3}}
.videoWrapper{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#000}
.videoWrapper iframe,.embed-facade--youtube .embed-facade__btn,.embed-facade--youtube img{position:absolute;inset:0;width:100%;height:100%}
.embed-facade--youtube img{object-fit:cover}
.embed-facade__play{position:absolute;top:50%;left:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:12px;background:rgba(33,33,33,.85);transition:background .15s}
.embed-facade__play:after{content:"";position:absolute;top:50%;left:50%;margin:-9px 0 0 -6px;border-style:solid;border-width:9px 0 9px 16px;border-color:transparent transparent transparent #fff}
.embed-facade--youtube .embed-facade__btn:hover .embed-facade__play,.embed-facade--youtube .embed-facade__btn:focus-visible .embed-facade__play{background:#f00}
.embed-facade--youtube .embed-facade__btn:focus-visible{outline:3px solid #A11819;outline-offset:-3px}
.album-head__jump{margin:-14px 0 24px;text-align:center}
.album-head__jump a{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:1px solid #A11819;border-radius:20px;color:#A11819;font-weight:bold;text-decoration:none}
.album-head__jump a:hover,.album-head__jump a:focus{background:#A11819;color:#fff}
@media(min-width:992px){.album-head__jump{display:none}}
/* Editor content: <hr class="col-xs-12 ..."> carries column padding; keep rules inside their column on every screen. */
.legacy-content hr{box-sizing:border-box;width:auto;max-width:100%;padding:0;float:none}
.legacy-content img,.legacy-content iframe,.legacy-content video,.legacy-content table{max-width:100%}
.legacy-content img{height:auto}
.legacy-content table{display:block;overflow-x:auto}

/* Course pages: "Menu" jump link under the title, and a scroll offset so the recipes heading
   is not hidden behind the fixed header when the anchor lands. */
.course-menu-jump{margin:14px 0 6px}
.course-menu-jump a{display:inline-block;padding:.35rem 1.1rem;border:1px solid #d9b96a;border-radius:2rem;color:#a4894a;font-size:14px;letter-spacing:.06em;text-transform:uppercase;transition:background-color .2s,color .2s}
.course-menu-jump a:hover,.course-menu-jump a:focus{background:#d9b96a;color:#fff;text-decoration:none}
.course-menu-jump i{margin-right:.35rem}

/* Blog page heading: .lh-36 pins line-height to the font size, so the title collided with itself
   when it wrapped on phones and sat flush against the first post. */
.blog-list > h1.section-title{line-height:1.3;margin-bottom:2rem}
@media (max-width:767px){.blog-list > h1.section-title{font-size:28px;margin-bottom:1.5rem}}

/* Blog index: two-column card grid (one column on phones). Cards keep a fixed image ratio so the
   rows line up whatever the uploaded thumbnail size is. */
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ece7dd;border-radius:10px;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.blog-card:hover{box-shadow:0 12px 28px rgba(60,45,20,.12);transform:translateY(-3px)}
.blog-card__media{display:block;overflow:hidden;background:#f6f3ee;aspect-ratio:16/10}
.blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card:hover .blog-card__media img{transform:scale(1.04)}
.blog-card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 22px 22px}
.blog-card__date{color:#a08c63;font-size:13px;letter-spacing:.04em;margin-bottom:8px}
.blog-card__date i{margin-right:5px}
.blog-card__title{font-size:20px;line-height:1.35;margin:0 0 10px}
.blog-card__title a{color:#33302b}
.blog-card__title a:hover,.blog-card__title a:focus{color:#a4894a;text-decoration:none}
.blog-card__excerpt{color:#6f6a62;font-size:15px;line-height:1.7;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card__more{margin-top:auto;align-self:flex-start;color:#a4894a;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.blog-card__more:hover,.blog-card__more:focus{color:#8a7038;text-decoration:none}
.blog-card__more span{transition:margin-left .2s ease;display:inline-block}
.blog-card:hover .blog-card__more span{margin-left:4px}
@media (max-width:767px){.blog-grid{grid-template-columns:1fr;gap:22px}.blog-card__body{padding:16px 18px 18px}.blog-card__title{font-size:18px}}
