:root {
  --ink: #092c63;
  --ink-deep: #061e49;
  --leaf: #1e62a7;
  --leaf-soft: #e6f0fc;
  --cream: #fffaf0;
  --paper: #fffef9;
  --orange: #ffca1a;
  --orange-dark: #e7ad00;
  --sun: #ffca1a;
  --line: #dce5f2;
  --muted: #65738b;
  --shadow: 0 16px 40px rgba(9, 44, 99, .13);
  --radius: 22px;
  --content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Avenir Next", Avenir, "Nunito Sans", ui-rounded, system-ui, sans-serif; font-size: 16px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif; font-weight: 500; letter-spacing: -.04em; line-height: 1.06; }
h1 { font-size: clamp(3rem, 6.4vw, 5.85rem); }
h2 { font-size: clamp(2.15rem, 4vw, 3.7rem); }
h3 { font-size: 1.46rem; }
ul, ol { margin: 0; padding: 0; }
.content-shell { width: min(calc(100% - 48px), var(--content)); margin-inline: auto; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); overflow: hidden; width: 1px; height: 1px; white-space: nowrap; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; display: block; top: 1rem; left: 1rem; z-index: 999; width: auto; height: auto; padding: .75rem 1rem; background: #fff; color: var(--ink); }

/* Header */
.site-header { position: relative; z-index: 10; background: var(--paper); border-bottom: 1px solid rgba(24, 61, 55, .08); }
.site-header__inner { display: flex; min-height: 78px; align-items: center; gap: 2rem; }
.site-branding { flex: 1 1 auto; }
.brand { display: inline-flex; align-items: center; gap: .58rem; color: var(--ink); font-family: Georgia, serif; font-size: 1.28rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.04; }.brand__label { max-width: 218px; }
.brand__mark { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 50% 50% 50% 10%; background: var(--orange); color: #fff; font-family: sans-serif; font-size: 1.1rem; transform: rotate(-14deg); }
.custom-logo-link { display: block; max-width: 160px; }
.main-navigation ul { display: flex; align-items: center; gap: 1.8rem; list-style: none; }
.main-navigation a { position: relative; color: #40574f; font-size: .92rem; font-weight: 650; }
.main-navigation a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; background: var(--orange); content: ""; transform: scaleX(0); transition: transform .2s ease; }
.main-navigation a:hover::after, .main-navigation .current-menu-item a::after { transform: scaleX(1); }
.header-actions { display: flex; flex: 1 1 auto; justify-content: flex-end; align-items: center; gap: 1rem; }
.cart-link { display: inline-flex; align-items: center; gap: .25rem; min-width: 37px; font-size: 1.28rem; font-weight: 800; }
.cart-link__count { display: grid; min-width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--orange); color: #fff; font-family: sans-serif; font-size: .65rem; }
.menu-toggle { display: none; border: 0; background: transparent; }

/* Reusable UI */
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .65rem; padding: .7rem 1.22rem; border: 1px solid var(--orange); border-radius: 999px; background: var(--orange); color: #fff; font-size: .9rem; font-weight: 800; line-height: 1; transition: background .2s, border-color .2s, transform .2s; }
.button:hover, .button:focus-visible { border-color: var(--orange-dark); background: var(--orange-dark); color: #fff; transform: translateY(-2px); }
.button--header { min-height: 39px; padding: .56rem .95rem; font-size: .82rem; }
.button--light { border-color: var(--paper); background: var(--paper); color: var(--ink); }
.button--light:hover, .button--light:focus-visible { border-color: #fff; background: #fff; color: var(--ink); }
.button--small { min-height: 38px; padding: .56rem .9rem; font-size: .78rem; }
.text-link { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font-size: .9rem; font-weight: 800; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.text-link--light { color: var(--paper); }
.eyebrow { margin-bottom: .85rem; color: var(--orange); font-family: sans-serif; font-size: .72rem; font-weight: 850; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.eyebrow--light { color: #ffdabd; }
.section { padding: clamp(4.2rem, 8vw, 8.2rem) 0; }
.section--cream { background: var(--cream); }
.section--white { background: var(--paper); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: clamp(2.3rem, 4.5vw, 4.25rem); }
.section-heading h2 { max-width: 640px; }

/* Hero */
.hero { position: relative; overflow: hidden; min-height: 674px; padding-top: clamp(4.5rem, 8vw, 7.5rem); background: var(--leaf); color: var(--paper); isolation: isolate; }
.hero__inner { display: grid; grid-template-columns: minmax(0, .94fr) minmax(390px, .96fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.hero__copy { position: relative; z-index: 2; max-width: 670px; padding-bottom: 8rem; }
.hero h1 { max-width: 680px; }
.hero__text { max-width: 540px; margin-top: 1.5rem; color: #dbe9df; font-size: clamp(1.02rem, 1.4vw, 1.18rem); }
.hero__actions { display: flex; align-items: center; gap: 1.55rem; margin-top: 2.3rem; }
.hero__shape { position: absolute; z-index: -1; border-radius: 50%; opacity: .45; }
.hero__shape--one { top: -23rem; right: -6rem; width: 53rem; height: 53rem; border: 1px solid #8db4a5; }
.hero__shape--two { bottom: -27rem; left: 20%; width: 49rem; height: 49rem; border: 1px solid #80ab9a; }
.hero-art { position: relative; align-self: stretch; min-height: 435px; }
.hero-art__sun { position: absolute; top: 3%; right: 10%; width: min(15vw, 180px); aspect-ratio: 1; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 14px rgba(250, 203, 100, .08); }
.hero-art__hill { position: absolute; border-radius: 50% 50% 0 0; }
.hero-art__hill--back { right: -23%; bottom: 0; width: 105%; height: 59%; background: #4c9a7c; transform: rotate(-8deg); }
.hero-art__hill--front { right: -32%; bottom: -13%; width: 122%; height: 64%; background: #d3e7ce; transform: rotate(6deg); }
.hero-art__people { position: absolute; right: 16%; bottom: 14%; display: flex; align-items: flex-end; gap: clamp(.35rem, 1vw, .9rem); }
.hero-art__people span { position: relative; display: block; width: clamp(41px, 4.3vw, 61px); height: clamp(97px, 9vw, 135px); border-radius: 46% 46% 25% 25%; background: var(--orange); transform: rotate(-8deg); }
.hero-art__people span::before { position: absolute; top: -31px; left: 50%; width: 35px; height: 35px; border-radius: 50%; background: #f0b183; content: ""; transform: translateX(-50%); }
.hero-art__people span::after { position: absolute; top: 15px; left: -18px; width: 76px; height: 15px; border-radius: 20px; background: currentColor; color: inherit; content: ""; transform: rotate(-30deg); }
.hero-art__people span:nth-child(2) { height: clamp(117px, 11vw, 162px); background: #ffe9cc; color: #ffe9cc; transform: translateY(-8px) rotate(3deg); }
.hero-art__people span:nth-child(2)::before { background: #8d5d3e; }
.hero-art__people span:nth-child(3) { height: clamp(100px, 9.6vw, 145px); background: #e9c854; color: #e9c854; transform: translateY(3px) rotate(9deg); }
.hero-art__people span:nth-child(3)::before { background: #77513e; }
.hero-art__people span:nth-child(4) { height: clamp(91px, 8.5vw, 122px); background: #23594d; color: #23594d; transform: rotate(-2deg); }
.hero-art__people span:nth-child(4)::before { background: #f3bd96; }
.hero-art__note { position: absolute; top: 32%; left: 0; display: flex; width: 144px; flex-direction: column; gap: .3rem; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.72); border-radius: 10px 10px 28px 10px; background: rgba(255, 253, 248, .94); color: var(--ink); box-shadow: var(--shadow); font-size: .73rem; font-weight: 800; transform: rotate(-6deg); }
.hero-art__note span { color: var(--orange); font-family: Georgia, serif; font-size: 1.7rem; line-height: 1; }
.hero__stats { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.1rem; padding-block: 1.3rem 1.6rem; border-top: 1px solid rgba(255,255,255,.22); }
.hero__stats div { display: flex; align-items: baseline; gap: .6rem; }
.hero__stats strong { color: var(--sun); font-family: Georgia, serif; font-size: clamp(1.65rem, 2.7vw, 2.3rem); letter-spacing: -.06em; }
.hero__stats strong span { color: var(--sun); }
.hero__stats p { max-width: 140px; color: #d8e8df; font-size: .72rem; line-height: 1.3; }

/* Front-page content */
.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin: 0 !important; list-style: none; }
ul.products::before, ul.products::after { display: none !important; }
.products .product { width: auto !important; float: none !important; margin: 0 !important; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); overflow: hidden; transition: transform .22s ease, box-shadow .22s ease; }
.products .product:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.products .woocommerce-loop-product__link { display: block; padding-bottom: .15rem; }
.trip-card__image { position: relative; aspect-ratio: 1.34 / 1; overflow: hidden; background: #e4efe5; }
.trip-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.products .product:hover .trip-card__image img { transform: scale(1.04); }
.trip-card__status { position: absolute; top: 50%; left: 50%; display: grid; min-width: 82%; min-height: 52px; place-items: center; padding: .7rem 1rem; border: 3px solid currentColor; border-radius: 5px; background: rgba(255, 253, 248, .72); color: #bd3c2d; font-family: sans-serif; font-size: clamp(1rem, 1.8vw, 1.42rem); font-weight: 950; letter-spacing: .09em; line-height: 1; text-align: center; text-transform: uppercase; transform: translate(-50%, -50%) rotate(-9deg); box-shadow: 0 3px 12px rgba(67, 38, 25, .13); }.trip-card__status--completed { color: var(--ink); background: rgba(229, 240, 231, .8); }.trip-card__image--unavailable img { filter: saturate(.45) brightness(.78); }.trip-card__closed { color: var(--muted); font-size: .76rem; font-weight: 800; text-align: right; }
.trip-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: radial-gradient(circle at 25% 30%, var(--sun) 0 11%, transparent 11.6%), radial-gradient(circle at 72% 67%, #75ae89 0 28%, transparent 28.6%), #d9e7da; color: var(--orange); font-size: 3rem; }
.products .woocommerce-loop-product__title { min-height: 3.05em; margin: 1.18rem 1.2rem .7rem; color: var(--ink); font-family: Georgia, serif; font-size: clamp(1.25rem, 1.8vw, 1.55rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.16; }
.trip-card__meta { display: grid; gap: .4rem; margin: 0 1.2rem 1.05rem; color: var(--muted); font-size: .76rem; }
.trip-card__meta-row { display: grid; grid-template-columns: 25px 48px minmax(0, 1fr); gap: .32rem; align-items: center; }.trip-card__meta-icon { display: grid; width: 22px; height: 22px; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 8px; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 3px 0 rgba(35,61,51,.16), 0 6px 10px rgba(35,61,51,.12); color: #fff; font-family: sans-serif; font-size: .77rem; font-style: normal; font-weight: 900; line-height: 1; text-shadow: 0 1px 0 rgba(0,0,0,.12); transform: translateY(-1px); }.trip-card__meta-icon--theme { background: linear-gradient(145deg, #ffc079, #ed7e38); }.trip-card__meta-icon--city { background: linear-gradient(145deg, #7eb5ac, #2d766b); }.trip-card__meta-icon--date { background: linear-gradient(145deg, #8499d7, #4e609e); }.trip-card__meta-icon--price { background: linear-gradient(145deg, #efaa73, #be5d39); }.trip-card__meta-row b { color: var(--muted); font-size: .68rem; font-weight: 700; }.trip-card__meta-row strong { overflow: hidden; color: #425b52; font-size: .74rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.trip-card__meta-row--price strong { color: var(--ink); }.trip-card__meta-row--price del { color: var(--muted); font-size: .67rem; font-weight: 500; }.trip-card__meta-row--price ins { text-decoration: none; }
.trip-card__purchase { display: flex; align-items: center; justify-content: flex-end; gap: .8rem; margin: 0 1.2rem 1.25rem; }.trip-card__purchase .button { width: 100%; }
.products .added_to_cart { display: none; }
.split-intro { display: grid; grid-template-columns: 1.05fr .8fr; justify-content: space-between; gap: 8%; }
.split-intro h2 { max-width: 650px; }
.split-intro > p { max-width: 470px; padding-top: 2rem; color: #53685f; font-size: 1.05rem; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 4.2rem; }
.step { position: relative; min-height: 255px; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.step:nth-child(2) { background: #e5f0e7; }
.step:nth-child(3) { background: #f9e6d8; }
.step__number { position: absolute; top: 1.4rem; right: 1.45rem; color: #a1b0a6; font-size: .75rem; font-weight: 850; letter-spacing: .1em; }
.step__icon { display: grid; width: 48px; height: 48px; margin-bottom: 3rem; place-items: center; border-radius: 50%; background: var(--orange); color: #fff; font-size: 1.4rem; }
.step:nth-child(2) .step__icon { background: var(--leaf); }
.step:nth-child(3) .step__icon { background: var(--sun); color: var(--ink); }
.step h3 { margin-bottom: .65rem; }
.step p { color: var(--muted); font-size: .89rem; }
.section--orange { background: var(--orange); color: #fff; }
.reason-layout { display: grid; grid-template-columns: .8fr 1fr 1.1fr; align-items: center; gap: 4rem; }
.reason-copy h2 { max-width: 450px; }
.reason-list { display: grid; gap: 1.25rem; }
.reason-list p { display: grid; grid-template-columns: 29px 1fr; gap: .75rem; align-items: start; color: #fff2e8; font-size: .95rem; }
.reason-list span { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: #fff; font-size: .77rem; }
.reason-art { position: relative; min-height: 270px; }
.reason-art__circle { position: absolute; top: 5%; left: 10%; width: 205px; aspect-ratio: 1; border-radius: 50%; background: #f9be7c; }
.reason-art__hands { position: absolute; right: 3%; bottom: 2%; display: grid; width: 174px; height: 144px; place-items: center; border-radius: 65% 38% 54% 42%; background: var(--leaf); color: #fff; font-size: 4.5rem; transform: rotate(-10deg); }
.reason-art__leaf { position: absolute; display: block; width: 56px; height: 105px; border-radius: 100% 0 100% 0; background: #fce7d0; }
.reason-art__leaf--one { top: 0; right: 4%; transform: rotate(21deg); }
.reason-art__leaf--two { bottom: 0; left: 1%; background: #ffcf92; transform: rotate(-47deg); }
.stories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }
.story { display: flex; min-height: 277px; flex-direction: column; justify-content: space-between; padding: 1.6rem; border-radius: var(--radius); background: var(--paper); box-shadow: 0 8px 23px rgba(35,50,42,.06); }
.story blockquote { color: #29483f; font-family: Georgia, serif; font-size: 1.33rem; letter-spacing: -.03em; line-height: 1.32; }
.story figcaption { display: flex; align-items: center; gap: .7rem; margin-top: 2.2rem; font-family: sans-serif; }
.story figcaption strong, .story figcaption small { display: block; }
.story figcaption strong { color: var(--ink); font-size: .81rem; }
.story figcaption small { color: var(--muted); font-size: .7rem; }
.avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--ink); font-size: .78rem; font-weight: 900; }
.avatar--coral { background: #f5b198; }.avatar--yellow { background: #f8d37a; }.avatar--green { background: #b1d6bf; }
.group-banner { padding: 0; background: var(--paper); }
.group-banner__inner { display: flex; min-height: 315px; align-items: center; justify-content: space-between; gap: 3rem; padding-block: 3rem; border-radius: 0 0 30px 30px; background: #dcebdc; }
.group-banner__inner > div { max-width: 650px; }
.group-banner h2 { max-width: 570px; }.group-banner p:not(.eyebrow) { max-width: 525px; margin-top: 1rem; color: #50675d; }

/* WooCommerce general */
.shop-hero { padding: 1.5rem 0; background: #e4f0e3; }.shop-hero__inner { position: relative; display: flex; min-height: 112px; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.55rem 2.1rem; border: 1px solid rgba(255,255,255,.82); border-radius: 24px; background: linear-gradient(125deg, #fbf7eb 0%, #e8f2e6 58%, #d5ead7 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 26px rgba(36,76,63,.12); overflow: hidden; }.shop-hero__inner::after { position: absolute; right: 10%; bottom: -74px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; content: ''; }.shop-hero .eyebrow { margin: 0; }.shop-hero__intro { max-width: 560px; margin-top: .55rem; color: #537066; font-size: .96rem; line-height: 1.52; }.shop-hero__ornaments { position: relative; z-index: 1; display: flex; align-items: center; gap: .7rem; padding-right: .5rem; }.shop-orb { display: grid; width: 53px; height: 53px; place-items: center; border: 1px solid rgba(255,255,255,.85); border-radius: 18px; box-shadow: inset 0 2px 0 rgba(255,255,255,.85), inset 0 -2px 0 rgba(0,0,0,.09), 0 5px 0 rgba(44,88,73,.17), 0 11px 17px rgba(40,86,70,.14); color: #fff; font-family: sans-serif; font-size: 1.4rem; font-weight: 900; line-height: 1; text-shadow: 0 2px 0 rgba(0,0,0,.12); transform: rotate(-7deg); }.shop-orb--leaf { background: linear-gradient(145deg, #8cbf82, #36765c); }.shop-orb--pin { background: linear-gradient(145deg, #fbbe79, #e16d43); transform: translateY(-8px) rotate(7deg); }.shop-orb--sun { background: linear-gradient(145deg, #a6b7e7, #5667a8); transform: translateY(5px) rotate(-4deg); }
.shop-content { padding-top: 2.1rem; padding-bottom: 6rem; }.woocommerce-products-header { display: none; }
.trip-categories { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; }.trip-categories a { padding: .46rem .8rem; border: 1px solid var(--line); border-radius: 999px; color: #567066; font-size: .79rem; font-weight: 750; transition: background .2s, color .2s, border-color .2s; }.trip-categories a:hover, .trip-categories a.is-current { border-color: var(--ink); background: var(--ink); color: #fff; }
.shop-main { min-height: 56vh; }
.woocommerce-result-count { color: var(--muted); font-size: .85rem; }.woocommerce-ordering select { min-height: 40px; padding: .4rem .75rem; border: 1px solid var(--line); border-radius: 9px; background: #fffdf9; color: var(--ink); }.woocommerce .products .product .button.button--small { border-color: var(--orange) !important; background: linear-gradient(135deg, #ef966d, var(--orange)) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 4px 0 rgba(168,72,44,.18); color: #fff !important; }.woocommerce .products .product .button.button--small:hover { background: var(--orange-dark) !important; }
.woocommerce-notices-wrapper { margin-bottom: 1.2rem; }.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 1.2rem !important; padding: 1rem 1.2rem 1rem 3.25rem !important; border-top: 0 !important; border-radius: 10px; background: #e5f0e7 !important; color: var(--ink) !important; font-size: .9rem; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top: 1rem !important; left: 1.2rem !important; color: var(--leaf) !important; }.woocommerce-error { background: #fde8df !important; }.woocommerce-message .button { float: right; min-height: 34px; padding: .45rem .75rem; }
.woocommerce-pagination { margin-top: 3rem; }.woocommerce-pagination ul { border: 0 !important; }.woocommerce-pagination ul li { border: 0 !important; margin: .15rem; }.woocommerce-pagination ul li a, .woocommerce-pagination ul li span { min-width: 38px; min-height: 38px; padding: .55rem !important; border-radius: 50%; color: var(--ink) !important; }.woocommerce-pagination ul li span.current, .woocommerce-pagination ul li a:hover { background: var(--orange) !important; color: #fff !important; }

/* Product detail */
.single-product .site-content { padding-top: 2.4rem; padding-bottom: 6rem; }.woocommerce-breadcrumb { margin-bottom: 1.8rem !important; color: var(--muted) !important; font-size: .78rem; }.woocommerce-breadcrumb a { color: var(--leaf) !important; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .82fr); column-gap: clamp(2rem, 6vw, 6.2rem); }.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: auto !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-product-gallery__wrapper { border-radius: var(--radius); overflow: hidden; }.single-product div.product .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1.13 / 1; object-fit: cover; }.flex-control-thumbs { display: flex; gap: .75rem; margin-top: .75rem !important; }.flex-control-thumbs li { width: 72px !important; float: none !important; }.flex-control-thumbs img { border-radius: 8px; }
.single-product .product_title { margin-bottom: 1rem; color: var(--ink); font-size: clamp(2.35rem, 4vw, 4rem); }.single-product .summary > .price { display: block; margin-bottom: 1.35rem; color: var(--orange); font-size: 1.42rem; font-weight: 850; }.single-product .summary .woocommerce-product-details__short-description { color: #576960; }
.single-trip-status { display: inline-flex; margin: 0 0 1rem; padding: .48rem .78rem; border-radius: 999px; background: #fde2d9; color: #a83326; font-size: .8rem; font-weight: 850; }.single-trip-status--completed { background: #e5f0e7; color: var(--leaf); }
.trip-details { margin: 1.6rem 0; padding: 1.2rem; border: 1px solid var(--line); border-radius: 15px; background: var(--cream); }.trip-details h2 { margin-bottom: .85rem; font-family: sans-serif; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.trip-details dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; }.trip-details dl > div { display: grid; gap: .15rem; }.trip-details dt { color: var(--muted); font-family: sans-serif; font-size: .72rem; font-weight: 700; }.trip-details dt span { margin-right: .25rem; color: var(--orange); }.trip-details dd { margin: 0; color: var(--ink); font-size: .84rem; font-weight: 800; }
.single-product form.cart { display: flex; align-items: stretch; gap: .85rem; margin: 1.9rem 0 !important; }.single-product form.cart .quantity { float: none !important; }.single-product .quantity .qty { width: 4.8rem; height: 48px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); }.single_add_to_cart_button { border-radius: 999px !important; background: var(--orange) !important; font-size: .92rem !important; }.single_add_to_cart_button:hover { background: var(--orange-dark) !important; }.product_meta { padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }.product_meta a { color: var(--leaf); }
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 4.5rem; padding-top: 3.6rem; border-top: 1px solid var(--line); }.woocommerce-tabs ul.tabs { display: flex; gap: 1.4rem; padding: 0 !important; border-bottom: 1px solid var(--line); }.woocommerce-tabs ul.tabs::before { display: none !important; }.woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }.woocommerce-tabs ul.tabs li a { display: block; padding: .75rem 0; color: var(--muted) !important; }.woocommerce-tabs ul.tabs li.active a { border-bottom: 2px solid var(--orange); color: var(--ink) !important; }.woocommerce-Tabs-panel { max-width: 770px; padding-top: 1.6rem; color: #52675e; }.woocommerce-Tabs-panel h2 { margin-bottom: 1rem; font-size: 2rem; }
.related.products { grid-column: 1 / -1; margin-top: 4rem; }.related.products > h2 { margin-bottom: 1.5rem; font-size: 2rem; }.related.products .products { grid-template-columns: repeat(4, 1fr); }

/* Cart and checkout */
.woocommerce-cart .site-content, .woocommerce-checkout .site-content, .woocommerce-account .site-content { padding: 3.4rem 0 6rem; }.woocommerce-cart .entry-header, .woocommerce-checkout .entry-header { display: none; }
.woocommerce-cart-form, .woocommerce-checkout-review-order, .woocommerce form.checkout .col2-set { padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.woocommerce table.shop_table { border: 0 !important; border-collapse: collapse; border-radius: 0; }.woocommerce table.shop_table th { padding: .8rem .4rem; border-color: var(--line); color: var(--muted); font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; }.woocommerce table.shop_table td { padding: 1rem .4rem; border-color: var(--line); }.woocommerce-cart-form__cart-item .product-thumbnail img { width: 68px; border-radius: 8px; }.woocommerce-cart-form__cart-item .product-name a, .woocommerce table.shop_table td.product-name a { color: var(--ink); font-weight: 800; }.woocommerce .coupon .input-text { min-height: 39px; width: 145px !important; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 999px; }.woocommerce .button, .woocommerce button.button, .woocommerce input.button { min-height: 39px; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 800; }.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--leaf); color: #fff; }.cart-collaterals { margin-top: 1.5rem; }.cart-collaterals .cart_totals { width: min(100%, 400px) !important; padding: 1.4rem; border-radius: var(--radius); background: #e5f0e7; }.cart_totals h2 { margin-bottom: .9rem; font-size: 1.7rem; }.wc-proceed-to-checkout a.checkout-button { padding: .9rem !important; background: var(--orange) !important; font-size: .92rem !important; }.wc-proceed-to-checkout a.checkout-button:hover { background: var(--orange-dark) !important; }
.woocommerce-checkout .woocommerce { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .78fr); align-items: start; gap: 1.6rem; }.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-notices-wrapper, .woocommerce-checkout form.checkout { grid-column: 1 / -1; }.woocommerce-checkout form.checkout { display: contents; }.woocommerce-checkout #customer_details { grid-column: 1; }.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }.woocommerce-checkout #order_review_heading { margin: .2rem 0 .9rem; font-size: 1.7rem; }.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { width: 100% !important; float: none !important; }.woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { margin-bottom: 1rem; font-size: 1.7rem; }.woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }.woocommerce form .form-row label { margin-bottom: .35rem; color: #52675e; font-size: .8rem; font-weight: 800; }.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { min-height: 47px; padding: .65rem .78rem; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); }.woocommerce form .form-row textarea { min-height: 100px; }.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0; line-height: 31px; }.select2-container--default .select2-selection--single .select2-selection__arrow { top: 9px; }.woocommerce-checkout-review-order-table { margin: 0 0 1rem !important; }.woocommerce-checkout-payment { border-radius: 12px !important; background: #f5f0e6 !important; }.woocommerce-checkout-payment div.payment_box { background: #e9e1d1 !important; color: #56655d !important; }.woocommerce-checkout-payment div.payment_box::before { border-bottom-color: #e9e1d1 !important; }.woocommerce #payment #place_order { width: 100%; padding: 1rem; background: var(--orange); }.woocommerce #payment #place_order:hover { background: var(--orange-dark); }

/* Pages and footer */
.page-main { min-height: 54vh; padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(4rem, 8vw, 7rem); }.entry-header { max-width: 820px; margin-bottom: 2.5rem; }.entry-content { max-width: 760px; color: #43584f; font-size: 1.05rem; }.entry-content > * + * { margin-top: 1.35rem; }.entry-content h2, .entry-content h3 { color: var(--ink); }.entry-content ul, .entry-content ol { padding-left: 1.2rem; }.entry-featured-image { max-width: 890px; margin: -1rem 0 2.2rem; border-radius: var(--radius); overflow: hidden; }.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }.post-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.post-card a { display: block; }.post-card img { width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; }.post-card .eyebrow { margin: 1.2rem 1.2rem .5rem; }.post-card h2 { margin: 0 1.2rem .7rem; font-size: 1.55rem; }.post-card p:last-child { margin: 0 1.2rem 1.4rem; color: var(--muted); font-size: .87rem; }.empty-state { max-width: 760px; }.empty-state h1 { margin-bottom: 1.1rem; font-size: clamp(2.8rem, 5vw, 4.4rem); }.empty-state p:not(.eyebrow) { max-width: 600px; margin-bottom: 1.6rem; color: var(--muted); font-size: 1.05rem; }.empty-trips { display: grid; min-height: 250px; place-content: center; padding: 2rem; border: 1px dashed #b6c6ba; border-radius: var(--radius); color: var(--muted); text-align: center; }.empty-trips span { color: var(--orange); font-size: 2rem; }.empty-trips h3 { margin-top: .5rem; color: var(--ink); }.empty-trips p { max-width: 360px; margin-top: .45rem; font-size: .9rem; }
.site-footer { background: var(--ink); color: var(--paper); }.footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 3.9rem; border-bottom: 1px solid rgba(255,255,255,.18); }.footer-cta h2 { max-width: 650px; }.site-footer__main { display: grid; grid-template-columns: 1.45fr .7fr .7fr; gap: 3rem; padding-block: 3.8rem; }.brand--footer { color: #fff; }.footer-intro p { max-width: 345px; margin-top: 1rem; color: #b8cbc1; font-size: .9rem; }.footer-links h2 { margin-bottom: 1rem; color: #ffcf96; font-family: sans-serif; font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.footer-links ul { display: grid; gap: .6rem; list-style: none; }.footer-links a { color: #d8e6de; font-size: .88rem; }.footer-links a:hover { color: #fff; }.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; border-top: 1px solid rgba(255,255,255,.13); color: #9eb5aa; font-size: .72rem; }

@media (max-width: 1000px) {
  .hero { min-height: 0; }.hero__copy { padding-bottom: 2.5rem; }.hero-art { min-height: 370px; }.reason-layout { grid-template-columns: .65fr 1fr; }.reason-list { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }.reason-list p { grid-template-columns: 25px 1fr; font-size: .81rem; }.related.products .products { grid-template-columns: repeat(3, 1fr); }.single-product div.product { grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); column-gap: 2.5rem; }
}
@media (max-width: 780px) {
  .content-shell { width: min(calc(100% - 36px), var(--content)); }.site-header__inner { min-height: 68px; gap: .85rem; }.header-actions { flex: 0 0 auto; }.button--header { display: none; }.menu-toggle { position: relative; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }.menu-toggle span:not(.screen-reader-text) { position: absolute; width: 15px; height: 1.5px; background: var(--ink); transition: transform .2s; }.menu-toggle span:nth-child(2) { transform: translateY(-4px); }.menu-toggle span:nth-child(3) { transform: translateY(4px); }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }.main-navigation { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; padding: 1.2rem 18px 1.6rem; border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: 0 15px 30px rgba(24,61,55,.08); }.main-navigation.is-open { display: block; }.main-navigation ul { display: grid; gap: 1.1rem; }.main-navigation a { font-size: 1rem; }.main-navigation a::after { display: none; }
  .hero { padding-top: 4rem; }.hero__inner { grid-template-columns: 1fr; gap: 0; }.hero__copy { padding-bottom: 0; }.hero-art { min-height: 360px; margin-top: -1rem; }.hero-art__sun { top: 4%; right: 12%; width: 130px; }.hero-art__people { right: 20%; bottom: 10%; }.hero-art__note { top: 28%; left: 7%; }.hero__stats { gap: .7rem; margin-top: -1rem; padding-block: 1.25rem; }.hero__stats div { display: block; }.hero__stats p { margin-top: .25rem; font-size: .66rem; }.hero__stats strong { font-size: 1.7rem; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }.products, .stories, .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }.products .product:last-child:nth-child(odd) { grid-column: 1 / -1; }.split-intro { grid-template-columns: 1fr; gap: 0; }.split-intro > p { padding-top: 1rem; }.reason-layout { grid-template-columns: 1fr; gap: 2.2rem; }.reason-art { min-height: 220px; max-width: 330px; }.reason-list { grid-column: auto; grid-template-columns: 1fr; }.reason-list p { font-size: .9rem; }.group-banner__inner { min-height: 0; align-items: flex-start; flex-direction: column; padding: 3rem 1.5rem; }.site-footer__main { grid-template-columns: 1.2fr .8fr; }.footer-intro { grid-column: 1 / -1; }.single-product div.product { grid-template-columns: 1fr; gap: 2.3rem; }.related.products .products { grid-template-columns: repeat(2, 1fr); }.woocommerce-checkout .woocommerce { display: block; }.woocommerce-checkout #order_review_heading { margin-top: 2rem; }.woocommerce-checkout-review-order { margin-top: .8rem; }.post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  h1 { font-size: clamp(2.85rem, 14vw, 4rem); }.hero__actions { align-items: flex-start; flex-direction: column; gap: 1.15rem; }.hero-art { min-height: 280px; }.hero-art__sun { width: 94px; }.hero-art__note { left: 0; width: 122px; padding: .65rem .75rem; font-size: .63rem; }.hero-art__people { right: 17%; }.products, .stories, .steps, .related.products .products { grid-template-columns: 1fr; }.products .product:last-child:nth-child(odd) { grid-column: auto; }.section { padding: 4rem 0; }.trip-card__image { aspect-ratio: 1.55 / 1; }.story { min-height: 235px; }.stories-section { padding-bottom: 4rem; }.trip-details dl { grid-template-columns: 1fr; }.woocommerce-tabs ul.tabs { gap: 1rem; overflow-x: auto; }.woocommerce-tabs ul.tabs li a { white-space: nowrap; }.single-product form.cart { flex-wrap: wrap; }.single-product form.cart .button { flex: 1; }.woocommerce-cart-form { padding: .75rem; overflow-x: auto; }.woocommerce-cart-form table.shop_table { min-width: 590px; }.cart-collaterals .cart_totals { width: 100% !important; }.site-footer__main { grid-template-columns: 1fr; gap: 2.1rem; }.footer-intro { grid-column: auto; }.footer-cta, .site-footer__bottom { align-items: flex-start; flex-direction: column; }.site-footer__bottom { gap: .5rem; }.post-grid { grid-template-columns: 1fr; }
}

/* Mobile hardening: prevent cramped cards and horizontal page overflow. */
@media (max-width: 640px) {
  html, body { overflow-x: clip; }
  .content-shell { width: min(calc(100% - 32px), var(--content)); }
  .site-header__inner { gap: .6rem; }
  .custom-logo-link { max-width: 130px; }
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .stories, .steps, .related.products .products, .post-grid { grid-template-columns: 1fr; }
  .products .product:last-child:nth-child(odd) { grid-column: auto; }
  .trip-card__image { aspect-ratio: 1 / .84; }
  .products .woocommerce-loop-product__title { min-height: 0; margin: .85rem .8rem .55rem; font-size: 1.08rem; line-height: 1.12; }
  .trip-card__meta { gap: .28rem; margin: 0 .8rem .7rem; font-size: .65rem; line-height: 1.32; }.trip-card__meta-row { grid-template-columns: 13px minmax(0, 1fr); gap: .2rem; }.trip-card__meta-row b { display: none; }.trip-card__meta-row strong { font-size: .65rem; }
  .trip-card__status { min-width: 82%; min-height: 40px; padding: .45rem; border-width: 2px; font-size: .73rem; }
  .trip-card__purchase { align-items: flex-start; flex-direction: column; gap: .55rem; margin: 0 .8rem .85rem; }
  .trip-card__purchase .button { min-height: 34px; padding: .45rem .55rem; font-size: .68rem; }
  .trip-card__purchase .button, .trip-card__closed { width: 100%; text-align: center; }
  .woocommerce-result-count, .woocommerce-ordering { float: none !important; margin: 0 0 1rem !important; }
  .woocommerce-ordering select { width: 100%; }
  .woocommerce-cart-form { overflow: visible; padding: 1rem; }
  .woocommerce-cart-form table.shop_table, .woocommerce-cart-form table.shop_table tbody { display: block; min-width: 0; }
  .woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: .1rem .65rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item td { display: block; padding: .2rem 0; border: 0; text-align: left !important; }
  .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item td::before { display: none !important; }
  .woocommerce-cart-form__cart-item .product-thumbnail { grid-row: 1 / span 5; }
  .woocommerce-cart-form__cart-item .product-thumbnail img { width: 70px; }
  .woocommerce-cart-form__cart-item .product-name { font-size: .92rem; }
  .woocommerce-cart-form__cart-item .product-remove { position: absolute; right: 1rem; }
  .woocommerce-cart-form table.shop_table tr.woocommerce-cart-form__cart-item { position: relative; }
  .woocommerce-cart-form table.shop_table tr:last-child td.actions { display: grid; gap: .75rem; padding-top: 1rem; }
  .woocommerce-cart-form .coupon { display: grid; grid-template-columns: 1fr auto; gap: .5rem; }
  .woocommerce .coupon .input-text { width: 100% !important; }
  .woocommerce-cart-form .button[name="update_cart"] { width: 100%; }
  .woocommerce-checkout .woocommerce-checkout-review-order, .woocommerce form.checkout .col2-set { padding: 1.1rem; }
  .woocommerce-checkout #order_review_heading { margin-top: 1.6rem; }
  .woocommerce #payment #place_order, .wc-proceed-to-checkout a.checkout-button { min-height: 52px; }
}

@media (max-width: 390px) {
  .brand { gap: .42rem; font-size: 1.22rem; }
  .brand__mark { width: 26px; height: 26px; }
  .cart-link { min-width: 31px; font-size: 1.08rem; }
  .menu-toggle { width: 35px; height: 35px; }
  .hero { padding-top: 3.2rem; }
  .hero__stats { gap: .25rem; }
  .hero__stats p { font-size: .59rem; }
  .hero__stats strong { font-size: 1.45rem; }
  .hero-art { min-height: 255px; }
  .hero-art__people { right: 12%; transform: scale(.88); transform-origin: bottom right; }
  .hero-art__note { top: 20%; transform: rotate(-6deg) scale(.88); transform-origin: left top; }
  .section-heading h2 { font-size: 2.05rem; }
  .products { gap: .65rem; }
  .products .woocommerce-loop-product__title { margin: .7rem .65rem .45rem; font-size: .98rem; }
  .trip-card__meta { margin: 0 .65rem .6rem; font-size: .6rem; }.trip-card__meta-row strong { font-size: .6rem; }
  .trip-card__purchase { margin: 0 .65rem .7rem; }
  .trip-card__purchase .button { font-size: .62rem; }
  .woocommerce-cart-form .coupon { grid-template-columns: 1fr; }
}

/* Compact 3D activity header and detail icons on small screens. */
@media (max-width: 780px) {
  .shop-hero { padding: 1rem 0; }
  .shop-hero__inner { min-height: 96px; padding: 1.2rem 1.35rem; border-radius: 20px; }
  .shop-hero__intro { max-width: 470px; font-size: .87rem; }
  .shop-orb { width: 44px; height: 44px; border-radius: 15px; font-size: 1.1rem; }
}

@media (max-width: 640px) {
  .shop-hero__inner { gap: .7rem; padding: 1.05rem 1.1rem; }
  .shop-hero__ornaments { gap: .38rem; padding-right: 0; }
  .shop-orb { width: 34px; height: 34px; border-radius: 11px; box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 -1px 0 rgba(0,0,0,.09), 0 3px 0 rgba(44,88,73,.17), 0 7px 10px rgba(40,86,70,.12); font-size: .9rem; }
  .shop-orb--pin { transform: translateY(-5px) rotate(7deg); }
  .shop-orb--sun { transform: translateY(3px) rotate(-4deg); }
  .trip-card__meta-row { grid-template-columns: 21px minmax(0, 1fr); gap: .28rem; }
  .trip-card__meta-icon { width: 18px; height: 18px; border-radius: 6px; box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 2px 0 rgba(35,61,51,.15), 0 4px 7px rgba(35,61,51,.11); font-size: .62rem; }
}

@media (max-width: 390px) {
  .shop-hero__inner { padding: .9rem .85rem; }
  .shop-hero__intro { margin-top: .35rem; font-size: .78rem; }
  .shop-orb { width: 29px; height: 29px; border-radius: 9px; font-size: .76rem; }
}

/* Mobile shop: deliberate breathing room without sacrificing the two-column layout. */
@media (max-width: 780px) {
  .site-branding { min-width: 0; }
  .brand { gap: .42rem; font-size: 1rem; }
  .brand__label { max-width: 122px; }
}

@media (max-width: 640px) {
  .site-header__inner.content-shell, .shop-main > .content-shell, .shop-content { width: min(calc(100% - 36px), var(--content)); }
  .shop-main > .content-shell { padding-top: 1.3rem; padding-bottom: 4.25rem; }
  .shop-content { padding-top: 1.25rem; }
  .woocommerce-result-count { margin-bottom: .85rem !important; padding-left: .15rem; }
  .woocommerce-ordering { margin-bottom: 1.15rem !important; }
  .woocommerce-ordering select { min-height: 46px; border-radius: 14px; box-shadow: 0 5px 15px rgba(22,77,67,.05); }
  .products { gap: .9rem; }
  .products .product { border-color: #e9e1d5; border-radius: 21px; box-shadow: 0 8px 18px rgba(22,77,67,.055); }
  .products .product:hover { box-shadow: 0 12px 22px rgba(22,77,67,.12); }
  .trip-card__image { border-bottom: 1px solid #f1e8dc; }
  .woocommerce .products .product .button.button--small { min-height: 38px; border-radius: 12px; }
}

@media (max-width: 390px) {
  .brand { font-size: .86rem; }
  .brand__label { max-width: 96px; }
  .site-header__inner.content-shell, .shop-main > .content-shell, .shop-content { width: min(calc(100% - 28px), var(--content)); }
  .products { gap: .7rem; }
}

/* Activity description and policy tabs. */
.single-product .woocommerce-tabs { grid-column: 1 / -1; width: min(100%, 860px); margin: 4rem 0 0; padding: 0; border: 1px solid #e9e2d7; border-radius: 20px; background: #fffefb; box-shadow: 0 10px 24px rgba(22,77,67,.055); overflow: hidden; }.single-product .woocommerce-tabs ul.tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 !important; padding: 0 !important; border: 0; background: #fffaf2; }.single-product .woocommerce-tabs ul.tabs li { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 1rem .8rem; border-bottom: 2px solid transparent; color: #78837e !important; font-family: sans-serif; font-size: .84rem; font-weight: 850; letter-spacing: .01em; text-align: center; }.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--leaf); background: #fffefb; color: var(--ink) !important; }.single-product .woocommerce-Tabs-panel { max-width: none; min-height: 260px; margin: 0 !important; padding: clamp(1.45rem, 4vw, 2.2rem) !important; color: #3e514b; font-size: .96rem; line-height: 1.72; }.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }.single-product .woocommerce-Tabs-panel p + p { margin-top: 1rem; }.trip-terms ul { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }.trip-terms li { position: relative; padding-left: 1.55rem; }.trip-terms li::before { position: absolute; top: .71rem; left: .25rem; width: 5px; height: 5px; border-radius: 50%; background: #b9c4bf; content: ''; }.trip-terms h3 { margin: 2rem 0 1rem; color: #6c756f; font-family: inherit; font-size: .9rem; font-weight: 750; letter-spacing: 0; }.ruangaksi-wa-trip-details { margin: 1.6rem 0 !important; padding: 1.25rem !important; border-color: #e7dfd1 !important; border-radius: 16px !important; background: #fff9ed !important; }.ruangaksi-wa-trip-details h2 { color: var(--ink); }.ruangaksi-wa-trip-details dd { color: var(--ink) !important; }

/* Fixed ticket action used on phone, with the regular cart form retained as the source of truth. */
.trip-sticky-purchase { display: none; }.trip-sticky-purchase p { margin: 0; }.trip-sticky-purchase p span { display: block; color: var(--muted); font-size: .72rem; font-weight: 700; }.trip-sticky-purchase p strong { display: block; margin-top: .1rem; color: var(--ink); font-size: 1.05rem; line-height: 1.15; }.trip-sticky-purchase p del { color: var(--muted); font-size: .75rem; font-weight: 500; }.trip-sticky-purchase p ins { text-decoration: none; }.trip-sticky-purchase__button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.1rem; border: 0; border-radius: 8px; background: #c4493f; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 3px 0 rgba(116,43,39,.22); color: #fff; font-family: inherit; font-size: .88rem; font-weight: 850; }

@media (max-width: 780px) {
  .single-product .woocommerce-tabs { margin-top: 2.5rem; border-right: 0; border-left: 0; border-radius: 0; box-shadow: none; }
  .single-product .woocommerce-Tabs-panel { min-height: 0; padding: 1.45rem 1.2rem 1.7rem !important; font-size: .9rem; }
  .trip-sticky-purchase { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, .9fr); align-items: center; gap: 1rem; padding: .8rem max(18px, env(safe-area-inset-right)) calc(.8rem + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); border-top: 1px solid #e5ddd1; background: rgba(255,254,251,.97); box-shadow: 0 -10px 25px rgba(24,61,55,.1); }
  .single-product .site-content { padding-bottom: 8rem; }
}

@media (max-width: 390px) {
  .trip-sticky-purchase { grid-template-columns: minmax(0, 1fr) 132px; gap: .65rem; padding-inline: 14px; }
  .trip-sticky-purchase__button { min-height: 45px; padding-inline: .65rem; font-size: .8rem; }
}

/* Detail-page refinements: full logo, comfortable side space, and compact trip facts. */
.brand--logo { display: inline-flex; align-items: center; }.brand--logo .brand__wordmark { width: min(228px, 25vw); height: auto; max-height: 54px; object-fit: contain; }.brand--logo .brand__app-icon { display: none; }.brand--footer img { filter: brightness(0) invert(1); }.cart-link { position: relative; min-width: 42px; min-height: 42px; justify-content: center; border: 1px solid #dfe7e0; border-radius: 13px; background: #f7fbf7; color: var(--ink); transition: background .2s, transform .2s; }.cart-link:hover { background: #e5f0e7; transform: translateY(-1px); }.cart-link__icon { width: 21px; height: 21px; }.cart-link__count { position: absolute; top: -5px; right: -6px; min-width: 19px; height: 19px; border: 2px solid var(--paper); box-shadow: 0 2px 5px rgba(22,77,67,.14); }
.single-product .shop-main > .content-shell { width: min(calc(100% - 96px), var(--content)); }.single-product .ruangaksi-wa-trip-details { margin: .95rem 0 !important; padding: .9rem 1rem !important; border-radius: 13px !important; }.single-product .ruangaksi-wa-trip-details h2 { margin-bottom: .6rem; font-size: .72rem; }.single-product .ruangaksi-wa-trip-details dl { gap: .55rem .8rem; }.single-product .ruangaksi-wa-trip-details dd { font-size: .8rem; }.single-product .single_add_to_cart_button { display: inline-flex !important; align-items: center; justify-content: center; gap: .5rem; background: linear-gradient(135deg, #ef8a62, var(--orange)) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 4px 0 rgba(165,71,43,.2); }.single-product .single_add_to_cart_button:hover { background: var(--orange-dark) !important; }

@media (max-width: 780px) {
  .brand--logo .brand__wordmark { width: min(164px, 45vw); max-height: 44px; }
  .single-product .shop-main > .content-shell { width: min(calc(100% - 36px), var(--content)); }
}

@media (max-width: 390px) {
  .brand--logo .brand__wordmark { width: min(142px, 43vw); max-height: 40px; }
  .cart-link { min-width: 38px; min-height: 38px; }
  .cart-link__icon { width: 19px; height: 19px; }
  .single-product .shop-main > .content-shell { width: min(calc(100% - 28px), var(--content)); }
}

/* Wider exterior margin on the activity detail page, especially on phones. */
@media (max-width: 780px) {
  body.single-product .site-main .content-shell { width: min(calc(100% - 56px), var(--content)) !important; }
}

@media (max-width: 390px) {
  body.single-product .site-main .content-shell { width: min(calc(100% - 44px), var(--content)) !important; }
}

/* Inner breathing room for the product image, summary, price, and long description. */
@media (max-width: 780px) {
  body.single-product div.product .woocommerce-product-gallery { width: calc(100% - 32px) !important; justify-self: center; margin-inline: 16px !important; }
  body.single-product div.product .summary { padding-inline: 18px; }
  body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 1.75rem 2rem 2rem !important; }
  body.single-product p.stock.in-stock { display: inline-flex; align-items: center; margin: .2rem 0 1.15rem; padding: .5rem .75rem; border: 1px solid #bbd7c5; border-radius: 999px; background: #e8f4ea; color: #246847; font-size: .78rem; font-weight: 850; }
}

@media (max-width: 390px) {
  body.single-product div.product .woocommerce-product-gallery { width: calc(100% - 24px) !important; margin-inline: 12px !important; }
  body.single-product div.product .summary { padding-inline: 14px; }
  body.single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 1.5rem 1.45rem 1.75rem !important; }
}

/* Volunteer Kreasi Semesta palette: navy, sunshine yellow, and light blue. */
.main-navigation a { color: #173d76; }.hero { background: #092c63; }.hero__text, .hero__stats p { color: #dceaff; }.hero__shape--one, .hero__shape--two { border-color: #7ca4d9; }.hero-art__hill--back { background: #1e62a7; }.hero-art__hill--front { background: #d9eaff; }.hero-art__people span:nth-child(4) { background: #0b3b7c; color: #0b3b7c; }.group-banner__inner { background: #e7f0fc; }.group-banner p:not(.eyebrow) { color: #41597f; }
.button:not(.button--light), .woocommerce .products .product .button.button--small { border-color: var(--orange) !important; background: var(--orange) !important; color: var(--ink) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 4px 0 rgba(184,139,0,.18); }.button:not(.button--light):hover, .button:not(.button--light):focus-visible, .woocommerce .products .product .button.button--small:hover { border-color: var(--orange-dark) !important; background: var(--orange-dark) !important; color: var(--ink) !important; }.cart-link { border-color: #cfdcf0; background: #f0f6ff; }.cart-link:hover { background: #e0edff; }.cart-link__count { background: var(--orange); color: var(--ink); }.trip-card__image { background: #e7f0fc; }.trip-card__placeholder { background: radial-gradient(circle at 25% 30%, var(--sun) 0 11%, transparent 11.6%), radial-gradient(circle at 72% 67%, #7da6da 0 28%, transparent 28.6%), #dceaff; color: var(--ink); }.trip-card__meta-icon--theme, .trip-card__meta-icon--price { background: linear-gradient(145deg, #ffdc54, #e9af00); }.trip-card__meta-icon--city { background: linear-gradient(145deg, #4f92d5, #1b5799); }.trip-card__meta-icon--date { background: linear-gradient(145deg, #315d9c, #092c63); }
.shop-hero { background: #eaf2ff; }.shop-hero__inner { background: linear-gradient(125deg, #fffdf4 0%, #edf5ff 58%, #dbeaff 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 26px rgba(9,44,99,.12); }.shop-hero__intro { color: #455f87; }.shop-orb--leaf { background: linear-gradient(145deg, #2f76bc, #092c63); }.shop-orb--pin, .shop-orb--sun { background: linear-gradient(145deg, #ffdf62, #e9af00); color: var(--ink); }.trip-categories a { color: #355a8e; }.trip-categories a:hover, .trip-categories a.is-current { background: var(--ink); color: #fff; }
.single-product .summary > .price { color: #183f78; }.single-product .summary .woocommerce-product-details__short-description, .single-product .woocommerce-Tabs-panel { color: #405879; }.single-product .single_add_to_cart_button, .trip-sticky-purchase__button { background: var(--orange) !important; color: var(--ink) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 4px 0 rgba(184,139,0,.22); }.single-product .single_add_to_cart_button:hover { background: var(--orange-dark) !important; }.trip-sticky-purchase { border-top-color: #dbe5f3; box-shadow: 0 -10px 25px rgba(9,44,99,.12); }.single-product p.stock.in-stock { border-color: #c9d9ef; background: #edf4ff; color: #1c5798; }.single-product .woocommerce-tabs ul.tabs { background: #f3f7ff; }.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--orange); }.trip-terms li::before { background: #ffca1a; }.trip-terms h3 { color: #56709a; }
.woocommerce-pagination ul li span.current, .woocommerce-pagination ul li a:hover, .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order { background: var(--orange) !important; color: var(--ink) !important; }.cart-collaterals .cart_totals, .woocommerce-message, .woocommerce-info { background: #edf4ff !important; }.site-footer { background: #092c63; }.footer-links h2 { color: #ffdc54; }.footer-intro p, .footer-links a { color: #dceaff; }

/* Home landing page for Volunteer Kreasi Semesta. */
.landing-page { overflow: hidden; }
.landing-hero { min-height: 700px; }
.landing-intro { background: #fffef9; }
.landing-intro__grid { display: grid; grid-template-columns: 1.05fr .8fr; align-items: end; gap: 10%; }
.landing-intro__grid h2 { max-width: 640px; }
.landing-intro__grid > p { max-width: 460px; margin: 0; color: #4a6183; font-size: 1.04rem; line-height: 1.66; }
.landing-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3.1rem; }
.landing-values article { min-height: 196px; padding: 1.45rem; border: 1px solid #dce5f2; border-radius: 18px; background: #f6faff; box-shadow: 0 8px 20px rgba(9,44,99,.045); }
.landing-values span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: #ffca1a; color: #092c63; font-size: 1.1rem; font-weight: 900; }
.landing-values h3 { margin: 1rem 0 0; color: var(--ink); font-size: 1.25rem; }
.landing-values p { margin: .45rem 0 0; color: #536887; font-size: .86rem; line-height: 1.55; }
.mission-section { background: #092c63; color: #fff; }
.mission-section__grid { display: grid; grid-template-columns: .8fr 1fr 1.1fr; align-items: center; gap: 4rem; }
.mission-section .reason-copy h2 { color: #fff; }
.mission-section .reason-list p { color: #dceaff; }
.mission-section .reason-list span { background: #ffca1a; color: #092c63; }
.mission-section .reason-art__circle { background: #ffca1a; }
.mission-section .reason-art__hands { background: #1e62a7; color: #fff; }
.mission-section .reason-art__leaf { background: #dceaff; }
.mission-section .reason-art__leaf--two { background: #ffdc54; }
.mission-section .eyebrow { color: #ffdc54; }
.faq-section { background: #fffdf7; }
.faq-section__grid { display: grid; grid-template-columns: .75fr 1.1fr; align-items: start; gap: 10%; }
.faq-section__grid > div > p:not(.eyebrow) { max-width: 350px; margin-top: 1rem; color: #566d8f; }
.faq-list { display: grid; gap: .7rem; }
.faq-list details { overflow: hidden; border: 1px solid #dce5f2; border-radius: 13px; background: #fff; }
.faq-list summary { position: relative; padding: 1rem 3rem 1rem 1.1rem; color: #153d76; cursor: pointer; font-size: .92rem; font-weight: 850; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; right: 1.1rem; content: '+'; color: #1e62a7; font-size: 1.25rem; }
.faq-list details[open] summary::after { content: '–'; }
.faq-list p { margin: 0; padding: 0 1.1rem 1.1rem; color: #536887; font-size: .88rem; line-height: 1.6; }
.landing-cta { padding: 0; background: #fffdf7; }
.landing-cta__inner { display: flex; min-height: 300px; align-items: center; justify-content: space-between; gap: 2rem; padding: 3.5rem clamp(1.5rem,5vw,4.5rem); border-radius: 28px; background: linear-gradient(135deg,#e5f0ff,#d8e9ff); }
.landing-cta__inner > div { max-width: 650px; }
.landing-cta__inner h2 { margin: .3rem 0 .7rem; color: var(--ink); }
.landing-cta__inner p:not(.eyebrow) { margin: 0; color: #4a6183; }

@media (max-width: 780px) {
  .landing-hero { min-height: 0; }
  .landing-intro__grid, .mission-section__grid, .faq-section__grid { grid-template-columns: 1fr; gap: 2rem; }
  .mission-section .reason-art { max-width: 250px; }
  .landing-cta__inner { min-height: 0; align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .landing-intro__grid > p { font-size: .94rem; }
  .landing-values { grid-template-columns: 1fr; gap: .7rem; margin-top: 2rem; }
  .landing-values article { display: grid; min-height: 0; grid-template-columns: 42px 1fr; gap: .2rem .9rem; padding: 1rem; }
  .landing-values span { grid-row: 1 / span 2; }
  .landing-values h3 { margin: 0; align-self: end; font-size: 1.05rem; }
  .landing-values p { margin: 0; font-size: .82rem; }
  .mission-section__grid { gap: 1.8rem; }
  .landing-cta__inner { padding: 2.3rem 1.3rem; border-radius: 20px; }
  .landing-cta__inner h2 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
}

/* App-inspired Volunteer Kreasi Semesta interface. */
.app-search, .app-bottom-nav, .app-social { display: none; }
.app-help { background: #f5f8f7; }
.app-help__heading { margin-bottom: 1.35rem; }
.app-help__heading h2 { color: #27322e; font-family: inherit; font-size: clamp(1.65rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -.035em; }
.app-help__list { display: grid; gap: .9rem; max-width: 800px; }
.app-help__item { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto; gap: .9rem; align-items: center; padding: 1rem 1.15rem; border: 1px solid #e2e8e5; border-radius: 18px; background: #fff; box-shadow: 0 3px 9px rgba(28,51,40,.11); transition: transform .2s, box-shadow .2s; }
.app-help__item:hover { box-shadow: 0 7px 16px rgba(28,51,40,.14); transform: translateY(-2px); }
.app-help__item strong, .app-help__item small { display: block; }
.app-help__item strong { color: #2c322f; font-size: .92rem; line-height: 1.3; }
.app-help__item small { margin-top: .15rem; color: #6d7772; font-size: .8rem; line-height: 1.35; }
.app-help__item > b { color: #1f2824; font-family: sans-serif; font-size: 2.15rem; font-weight: 500; line-height: .8; }
.app-help__icon { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid #b5e4ca; border-radius: 14px; color: #08ad5a; font-family: sans-serif; font-size: 1.55rem; font-weight: 900; }
.app-help__icon--chat { border-radius: 50%; }.app-help__icon--legal { color: #42af79; }.app-help__icon--heart { color: #1fa468; }

@media (max-width: 780px) {
  :root { --ink: #26312d; --leaf: #04aa59; --cream: #f5f8f7; --paper: #fff; --orange: #04aa59; --orange-dark: #008c49; --line: #e1e7e4; --muted: #6a746f; }
  body { padding-bottom: 76px; background: #f5f8f7; font-family: Inter, "Avenir Next", system-ui, sans-serif; }
  h1, h2, h3 { font-family: Inter, "Avenir Next", system-ui, sans-serif; font-weight: 800; letter-spacing: -.045em; }
  .content-shell { width: min(calc(100% - 32px), var(--content)); }

  .site-header { position: sticky; top: 0; z-index: 60; border: 0; background: #05ad5b; box-shadow: 0 3px 10px rgba(9, 85, 45, .14); }
  .site-header__inner.content-shell { display: grid; width: 100%; min-height: 82px; grid-template-columns: 45px minmax(0, 1fr); gap: .75rem; padding: .75rem 16px; }
  .site-branding { min-width: 0; flex: 0 0 auto; }
  .brand--logo { display: block; width: 45px; height: 45px; overflow: hidden; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.14); }
  .brand--logo .brand__wordmark { display: none; }
  .brand--logo .brand__app-icon { display: block; width: 45px; max-width: none; height: 45px; max-height: none; object-fit: contain; transform: none; }
  .app-search { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) 45px; align-items: center; min-height: 45px; border: 2px solid rgba(32, 218, 123, .8); border-radius: 999px; background: #08a957; overflow: hidden; }
  .app-search input[type="search"] { width: 100%; min-width: 0; height: 42px; padding: 0 .95rem; border: 0; outline: 0; background: transparent; color: #fff; font-size: .88rem; }
  .app-search input::placeholder { color: rgba(255,255,255,.68); }
  .app-search button { display: grid; width: 45px; height: 42px; place-items: center; padding: 0; border: 0; background: transparent; color: #fff; }
  .app-search svg { width: 22px; height: 22px; }
  .site-header .menu-toggle, .site-header .main-navigation, .site-header .header-actions { display: none !important; }

  .landing-page { background: #f5f8f7; }
  .landing-hero { min-height: 0; padding: 2.35rem 0 2.2rem; background: linear-gradient(145deg, #05ad5b, #00984e); }
  .landing-hero .hero__inner { display: block; }
  .landing-hero .hero__copy { max-width: none; padding: 0; }
  .landing-hero .hero__copy h1 { max-width: 340px; font-size: clamp(2.15rem, 10vw, 3rem); line-height: 1.05; }
  .landing-hero .hero__text { margin-top: .9rem; color: rgba(255,255,255,.85); font-size: .92rem; line-height: 1.55; }
  .landing-hero .hero__actions { margin-top: 1.4rem; }
  .landing-hero .button { width: 100%; min-height: 48px; border-color: #fff !important; background: #fff !important; box-shadow: 0 3px 0 rgba(0,92,45,.19); color: #008d4a !important; }
  .landing-hero .text-link { display: none; }
  .landing-hero .hero-art, .landing-hero .hero__stats, .landing-hero .hero__shape { display: none; }

  .section { padding: 2.3rem 0; }
  .landing-intro { background: #fff; }
  .landing-intro__grid { gap: .8rem; }
  .landing-intro__grid h2 { color: #29332f; font-size: 1.55rem; }
  .landing-intro__grid > p { color: #6b7671; font-size: .87rem; }
  .landing-values { gap: .7rem; margin-top: 1.4rem; }
  .landing-values article { border-color: #e4e9e7; border-radius: 16px; background: #fff; box-shadow: 0 3px 9px rgba(28,51,40,.08); }
  .landing-values span { background: #e8faef; color: #05a956; }
  .landing-values h3 { color: #29332f; }
  .landing-values p { color: #6b7671; }
  .section--cream { background: #f5f8f7; }
  .section-heading { gap: .45rem; margin-bottom: 1.35rem; }
  .section-heading h2 { color: #29332f; font-size: 1.55rem; }
  .eyebrow { margin-bottom: .45rem; color: #05a956; font-size: .65rem; }
  .section-heading .text-link { color: #00a754; font-size: .78rem; }
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .85rem; }
  .products .product { border-color: #e5eae8; border-radius: 17px; background: #fff; box-shadow: 0 3px 10px rgba(28,51,40,.08); }
  .products .woocommerce-loop-product__title { margin: .75rem .75rem .45rem; color: #28322e; font-family: inherit; font-size: .93rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.24; }
  .trip-card__image { border-bottom: 1px solid #edf0ef; }
  .trip-card__meta { margin: 0 .75rem .7rem; color: #66716c; }
  .trip-card__meta-row strong, .trip-card__meta-row--price strong { color: #37423d; }
  .trip-card__meta-icon--theme, .trip-card__meta-icon--price, .trip-card__meta-icon--city, .trip-card__meta-icon--date { background: linear-gradient(145deg, #39c979, #059653); }
  .trip-card__purchase { margin: 0 .75rem .75rem; }
  .woocommerce .products .product .button.button--small { min-height: 36px; border-color: #04aa59 !important; border-radius: 10px; background: #04aa59 !important; box-shadow: 0 3px 0 rgba(0,112,57,.2); color: #fff !important; font-size: .67rem; }
  .app-help { background: #fff; }
  .app-help__heading { margin-bottom: 1rem; }
  .app-help__heading h2 { font-size: 1.55rem; }
  .app-help__list { gap: .8rem; }
  .app-help__item { grid-template-columns: 45px minmax(0, 1fr) auto; gap: .75rem; min-height: 77px; padding: .9rem 1rem; border-radius: 18px; }
  .app-help__item strong { font-size: .84rem; }.app-help__item small { font-size: .73rem; }.app-help__item > b { font-size: 1.95rem; }
  .app-help__icon { width: 39px; height: 39px; font-size: 1.3rem; }
  .mission-section, .faq-section, .landing-cta { display: none; }

  .site-footer { margin: 0; padding: 0 0 .4rem; background: #f1f7ff; color: #2d3532; }
  .site-footer .footer-cta, .site-footer__main, .site-footer__bottom { display: none; }
  .app-social { display: block; padding: 2.6rem 0 2.9rem; text-align: center; }
  .app-social p { color: #3c4641; font-size: 1.25rem; font-weight: 800; }
  .app-social__icons { display: flex; justify-content: center; gap: 1.3rem; margin-top: 1.25rem; }
  .app-social__icons span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; font-family: Arial, sans-serif; font-size: 1.25rem; font-weight: 900; }.app-social__icons span:nth-child(1) { border-radius: 50%; background: #1977e8; }.app-social__icons span:nth-child(2) { background: linear-gradient(135deg,#6e4fd1,#f06b78,#ffc566); }.app-social__icons span:nth-child(3) { border-radius: 50%; background: #e62d26; font-size: .82rem; }
  .app-bottom-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 80; display: grid; min-height: 72px; grid-template-columns: repeat(5, 1fr); padding: .45rem .3rem max(.45rem, env(safe-area-inset-bottom)); border-top: 1px solid #e7eae9; background: rgba(255,255,255,.97); box-shadow: 0 -4px 13px rgba(20,43,32,.08); }
  .app-bottom-nav a { display: grid; gap: .18rem; place-items: center; color: #9ca49f; font-size: .61rem; font-weight: 650; line-height: 1; }.app-bottom-nav a span { color: currentColor; font-family: sans-serif; font-size: 1.5rem; line-height: 1; }.app-bottom-nav a.is-active, .app-bottom-nav a:hover { color: #05a956; }.app-bottom-nav a:nth-child(3) span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #05a956; color: #fff; box-shadow: 0 3px 6px rgba(0,135,70,.18); }
}

/* Automatically calculated impact dashboard on the homepage. */
.impact-dashboard { position: relative; padding: 4.6rem 0; overflow: hidden; background: linear-gradient(135deg, #064c38, #087a49); }
.impact-dashboard::before { position: absolute; top: -130px; right: -70px; width: 360px; height: 360px; border: 45px solid rgba(145,255,190,.1); border-radius: 50%; content: ''; }
.impact-dashboard__heading { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.impact-dashboard__heading .eyebrow { color: #a8f4c7; }.impact-dashboard__heading h2 { margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); }.impact-dashboard__heading > p { max-width: 350px; margin: 0; color: rgba(255,255,255,.72); font-size: .92rem; line-height: 1.55; }
.impact-dashboard__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.impact-dashboard__grid article { min-height: 164px; padding: 1.35rem; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px rgba(255,255,255,.14); backdrop-filter: blur(6px); }
.impact-dashboard__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: linear-gradient(145deg, #d6ffe5, #6cf29d); box-shadow: inset 0 2px 1px rgba(255,255,255,.7), 0 5px 0 rgba(1,77,43,.2); color: #07633b; font-family: sans-serif; font-size: 1.28rem; font-weight: 900; transform: perspective(80px) rotateX(9deg) rotateY(-7deg); }
.impact-dashboard__icon--people { background: linear-gradient(145deg, #fff6be, #ffd65a); color: #7b5600; }.impact-dashboard__icon--ticket { background: linear-gradient(145deg, #d7efff, #79baff); color: #15528f; }.impact-dashboard__icon--pin { background: linear-gradient(145deg, #ffdcd2, #ff976d); color: #913d21; }
.impact-dashboard__grid strong { display: block; margin-top: 1rem; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 850; letter-spacing: -.07em; line-height: 1; }.impact-dashboard__grid small { display: block; margin-top: .45rem; color: rgba(255,255,255,.76); font-size: .78rem; font-weight: 700; }

@media (max-width: 780px) {
  .impact-dashboard { padding: 2.45rem 0; background: #fff; }.impact-dashboard::before { display: none; }
  .impact-dashboard__heading { display: block; }.impact-dashboard__heading .eyebrow { color: #05a956; }.impact-dashboard__heading h2 { color: #27322e; font-size: 1.55rem; }.impact-dashboard__heading > p { margin-top: .55rem; color: #6b7671; font-size: .8rem; }
  .impact-dashboard__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.2rem; }.impact-dashboard__grid article { min-height: 135px; padding: .95rem; border-color: #e4e9e7; border-radius: 18px; background: #f7fbf8; box-shadow: 0 3px 9px rgba(28,51,40,.07); backdrop-filter: none; }.impact-dashboard__grid strong { margin-top: .75rem; color: #26312d; font-size: 2rem; }.impact-dashboard__grid small { margin-top: .3rem; color: #69736e; font-size: .7rem; }.impact-dashboard__icon { width: 37px; height: 37px; border-radius: 12px; font-size: 1.1rem; }
  .app-bottom-nav a:nth-child(3) .app-bottom-nav__register-icon { position: relative; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.68); border-radius: 12px; background: linear-gradient(145deg, #78f0a8, #08a956 58%, #008747); box-shadow: inset 0 2px 1px rgba(255,255,255,.75), 0 5px 0 #00783f, 0 9px 13px rgba(0,101,52,.23); color: #fff; font-size: 1.1rem; font-weight: 900; transform: perspective(90px) rotateX(10deg); }.app-bottom-nav a:nth-child(3) .app-bottom-nav__register-icon::after { position: absolute; top: 4px; left: 6px; width: 17px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.42); content: ''; filter: blur(1px); }
}

/* Public campaign landing page — data remains managed by the RuangAksi plugin. */
.campaign-landing { padding: 2rem 0 5.5rem; background: #f1f4f8; color: #243246; }.campaign-landing__shell { max-width: 1160px; }.campaign-landing__crumb { display: flex; gap: .6rem; align-items: center; margin: 0 0 1.2rem; color: #78879a; font-size: .78rem; font-weight: 700; }.campaign-landing__crumb a { color: #078b4b; }.campaign-landing__hero { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(330px, .93fr); gap: 0; overflow: hidden; border: 1px solid #dfe6ed; border-radius: 22px; background: #fff; box-shadow: 0 12px 38px rgba(42,60,82,.1); }.campaign-landing__cover { position: relative; min-height: 420px; overflow: hidden; background: linear-gradient(145deg, #1c9c5d, #075536); }.campaign-landing__cover::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,34,23,.26), transparent 55%); content: ''; pointer-events: none; }.campaign-landing__cover img { width: 100%; height: 100%; object-fit: cover; }.campaign-landing__cover-placeholder { position: absolute; top: 50%; left: 50%; color: rgba(255,255,255,.82); font-size: 8rem; transform: translate(-50%, -50%); }.campaign-landing__state { position: absolute; z-index: 2; top: 1rem; left: 1rem; padding: .55rem .8rem; border: 2px solid rgba(255,255,255,.8); border-radius: 8px; background: rgba(183,61,50,.94); box-shadow: 0 3px 0 rgba(96,22,17,.33); color: #fff; font-size: .74rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; transform: rotate(-4deg); }.campaign-landing__state.is-completed { background: rgba(55,91,73,.94); }.campaign-landing__intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 4vw, 4.1rem); }.campaign-landing__eyebrow, .campaign-ticket-card__eyebrow { margin: 0; color: #08894b; font-family: inherit; font-size: .7rem; font-weight: 850; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }.campaign-landing__eyebrow span { display: inline-grid; width: 17px; height: 17px; margin-right: .25rem; place-items: center; border-radius: 6px; background: #e3f8ea; color: #07924d; font-size: .68rem; letter-spacing: 0; }.campaign-landing__intro h1 { max-width: 540px; margin: .9rem 0 0; color: #213047; font-family: Inter, "Avenir Next", system-ui, sans-serif; font-size: clamp(2.25rem, 4.6vw, 4.45rem); font-weight: 850; letter-spacing: -.065em; line-height: 1.02; }.campaign-landing__summary { max-width: 510px; margin-top: 1.2rem; color: #667487; font-size: .98rem; line-height: 1.65; }.campaign-landing__summary p + p { margin-top: .6rem; }.campaign-landing__quick-meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.5rem; }.campaign-landing__quick-meta span { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .65rem; border: 1px solid #e2e8ee; border-radius: 9px; color: #4e5f73; font-size: .76rem; font-weight: 750; }.campaign-landing__quick-meta b { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 7px; background: linear-gradient(145deg, #c5f6d9, #59c980); box-shadow: inset 0 1px rgba(255,255,255,.8), 0 2px 0 rgba(0,104,51,.16); color: #04703b; font-family: sans-serif; font-size: .75rem; }.campaign-landing__joined { display: inline-flex; width: fit-content; align-items: center; gap: .42rem; margin: 1.3rem 0 0; color: #087d45; font-size: .78rem; font-weight: 800; }.campaign-landing__joined span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #0aa759; color: #fff; font-family: sans-serif; font-size: .68rem; box-shadow: 0 2px 0 #087b42; }
.campaign-ticket-card { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem 2rem; align-items: center; padding: 1.35rem clamp(1.4rem, 4vw, 3.1rem); border-top: 1px solid #e7edf0; background: linear-gradient(110deg, #fff 0%, #f6fbf8 100%); }.campaign-ticket-card__eyebrow { grid-column: 1; color: #778697; }.campaign-ticket-card__price { grid-column: 1; margin: -.2rem 0 0; color: #087f46; font-size: clamp(1.42rem, 2.3vw, 2rem); font-weight: 900; letter-spacing: -.045em; }.campaign-ticket-card .stock { grid-column: 1; margin: 0; color: #137543; font-size: .8rem; font-weight: 750; }.campaign-ticket-card form.cart { grid-column: 2; grid-row: 1 / span 3; display: flex; align-items: center; margin: 0 !important; }.campaign-ticket-card form.cart::before, .campaign-ticket-card form.cart::after { display: none !important; }.campaign-ticket-card .quantity { display: none !important; }.campaign-ticket-card .single_add_to_cart_button { min-width: 190px; min-height: 50px; padding: .85rem 1.05rem !important; border: 0 !important; border-radius: 11px !important; background: #05a657 !important; box-shadow: 0 4px 0 #078343, 0 9px 17px rgba(0,118,59,.2); color: #fff !important; font-size: .87rem !important; font-weight: 850 !important; }.campaign-ticket-card .single_add_to_cart_button:hover { background: #008c49 !important; transform: translateY(-1px); }.campaign-ticket-card .ruangaksi-product-registration-hint { grid-column: 1 / -1; margin: 0; }.campaign-ticket-card__note { grid-column: 1 / -1; display: flex; gap: .4rem; margin: 0; color: #788596; font-size: .72rem; line-height: 1.45; }.campaign-ticket-card__note span { color: #0aa759; font-weight: 900; }.campaign-ticket-card__closed { grid-column: 1 / -1; margin: 0; color: #b5483d; font-size: .9rem; font-weight: 850; }
.campaign-information, .campaign-story, .campaign-terms, .campaign-news, .campaign-related { margin-top: 1.25rem; padding: clamp(1.35rem, 3vw, 2.5rem); border: 1px solid #dfe6ed; border-radius: 20px; background: #fff; box-shadow: 0 5px 20px rgba(42,60,82,.055); }.campaign-information { display: grid; grid-template-columns: minmax(210px, .48fr) minmax(0, 1fr); gap: 2.2rem; align-items: center; }.campaign-information h2, .campaign-story h2, .campaign-terms h2, .campaign-news h2, .campaign-related h2 { margin: .65rem 0 0; color: #26374d; font-family: Inter, "Avenir Next", system-ui, sans-serif; font-size: clamp(1.45rem, 2.5vw, 2.15rem); font-weight: 850; letter-spacing: -.05em; line-height: 1.12; }.campaign-information__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0; }.campaign-information__grid > div { min-height: 98px; padding: .9rem; border: 1px solid #e5eaef; border-radius: 13px; background: #fbfcfd; }.campaign-information__grid dt { display: flex; align-items: center; gap: .35rem; color: #8390a1; font-size: .68rem; font-weight: 800; }.campaign-information__grid dt span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; background: #e7f8ed; color: #09934e; font-family: sans-serif; font-size: .76rem; }.campaign-information__grid dd { margin: .65rem 0 0; color: #31445b; font-size: .82rem; font-weight: 850; line-height: 1.35; }.campaign-landing__content-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .78fr); gap: 1.25rem; align-items: start; }.campaign-story__content { margin-top: 1.35rem; color: #546477; font-size: .95rem; line-height: 1.85; }.campaign-story__content > * + * { margin-top: 1rem; }.campaign-story__content h2, .campaign-story__content h3 { margin-top: 1.45rem; color: #27394f; font-family: inherit; font-size: 1.1rem; font-weight: 850; }.campaign-story__content ul, .campaign-story__content ol { padding-left: 1.25rem; }.campaign-story__content li + li { margin-top: .42rem; }.campaign-terms { position: sticky; top: 95px; }.campaign-terms .trip-terms { margin-top: 1.25rem; color: #607084; font-size: .82rem; line-height: 1.65; }.campaign-terms .trip-terms ul { padding-left: 1.15rem; }.campaign-terms .trip-terms li + li { margin-top: .55rem; }.campaign-terms .trip-terms h3 { margin: 1.2rem 0 .5rem; color: #2c4056; font-family: inherit; font-size: .88rem; font-weight: 850; }.campaign-news__heading { display: flex; justify-content: space-between; gap: 1.5rem; align-items: end; }.campaign-news__heading strong { padding: .58rem .75rem; border-radius: 9px; background: #eaf9f0; color: #078044; font-size: .76rem; white-space: nowrap; }.campaign-news__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.35rem; }.campaign-news__list article { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: .6rem; align-items: center; min-height: 75px; padding: .7rem; border: 1px solid #e5eaef; border-radius: 13px; background: #fbfcfd; }.campaign-news__avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #fbd8a1, #ef966b); box-shadow: inset 0 1px rgba(255,255,255,.7), 0 2px 0 rgba(175,92,48,.18); color: #8c421f; font-size: .8rem; font-weight: 900; }.campaign-news__list p { min-width: 0; margin: 0; }.campaign-news__list strong, .campaign-news__list span { display: block; }.campaign-news__list strong { overflow: hidden; color: #32465e; font-size: .75rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }.campaign-news__list span { margin-top: .12rem; color: #7b8898; font-size: .67rem; line-height: 1.35; }.campaign-news__list b { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: #0aa759; color: #fff; font-size: .62rem; }.campaign-related .related.products { margin: 1.35rem 0 0; }.campaign-related .related.products > h2 { display: none; }.campaign-related .related.products .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }.campaign-related .products .product { box-shadow: none; }
.campaign-live-proof { position: fixed; z-index: 90; bottom: 26px; left: 26px; display: flex; width: min(330px, calc(100% - 36px)); gap: .75rem; align-items: flex-start; padding: .95rem; border: 1px solid #dce5e5; border-radius: 13px; background: rgba(255,255,255,.98); box-shadow: 0 14px 35px rgba(27,50,68,.2); opacity: 0; transform: translateY(16px); transition: opacity .35s ease, transform .35s ease; }.campaign-live-proof.is-visible { opacity: 1; transform: translateY(0); }.campaign-live-proof__icon { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: linear-gradient(145deg, #78e2a6, #07a758); box-shadow: inset 0 1px rgba(255,255,255,.7), 0 3px 0 #087a42; color: #fff; font-size: .83rem; font-weight: 900; }.campaign-live-proof strong, .campaign-live-proof p, .campaign-live-proof small { display: block; }.campaign-live-proof strong { color: #2a4055; font-size: .77rem; font-weight: 850; }.campaign-live-proof p { margin: .08rem 0; color: #52667b; font-size: .76rem; line-height: 1.35; }.campaign-live-proof small { color: #0a8e4e; font-size: .66rem; font-weight: 750; }
@media (max-width: 900px) { .campaign-landing__hero { grid-template-columns: 1fr; }.campaign-landing__cover { min-height: 340px; }.campaign-ticket-card { grid-template-columns: 1fr auto; }.campaign-information { grid-template-columns: 1fr; }.campaign-landing__content-grid { grid-template-columns: 1fr; }.campaign-terms { position: static; }.campaign-information__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 780px) { .campaign-landing { padding: 1rem 0 2.3rem; background: #f5f8f7; }.campaign-landing__shell { width: min(calc(100% - 24px), var(--content)); }.campaign-landing__crumb { margin: 0 0 .85rem; font-size: .7rem; }.campaign-landing__hero, .campaign-information, .campaign-story, .campaign-terms, .campaign-news, .campaign-related { border-color: #e3e9e6; border-radius: 18px; box-shadow: 0 4px 12px rgba(28,51,40,.07); }.campaign-landing__cover { min-height: 240px; }.campaign-landing__intro { padding: 1.25rem; }.campaign-landing__intro h1 { margin-top: .65rem; font-size: clamp(1.75rem, 8vw, 2.45rem); }.campaign-landing__summary { margin-top: .75rem; font-size: .84rem; line-height: 1.55; }.campaign-landing__quick-meta { gap: .45rem; margin-top: 1rem; }.campaign-landing__quick-meta span { padding: .42rem .5rem; font-size: .68rem; }.campaign-landing__quick-meta b { width: 19px; height: 19px; }.campaign-landing__joined { margin-top: .95rem; font-size: .7rem; }.campaign-ticket-card { grid-template-columns: 1fr; gap: .42rem; padding: 1.1rem 1.25rem; }.campaign-ticket-card__eyebrow, .campaign-ticket-card__price, .campaign-ticket-card .stock { grid-column: auto; }.campaign-ticket-card form.cart { grid-column: auto; grid-row: auto; width: 100%; margin-top: .45rem !important; }.campaign-ticket-card .single_add_to_cart_button { width: 100%; min-height: 48px; }.campaign-ticket-card .ruangaksi-product-registration-hint, .campaign-ticket-card__note { grid-column: auto; }.campaign-information, .campaign-story, .campaign-terms, .campaign-news, .campaign-related { margin-top: .85rem; padding: 1.15rem; }.campaign-information { gap: 1.2rem; }.campaign-information h2, .campaign-story h2, .campaign-terms h2, .campaign-news h2, .campaign-related h2 { font-size: 1.32rem; }.campaign-information__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }.campaign-information__grid > div { min-height: 80px; padding: .7rem; }.campaign-information__grid dd { margin-top: .45rem; font-size: .73rem; }.campaign-landing__content-grid { gap: 0; }.campaign-story__content { margin-top: 1rem; font-size: .87rem; line-height: 1.7; }.campaign-terms .trip-terms { margin-top: 1rem; font-size: .76rem; }.campaign-news__heading { align-items: flex-start; flex-direction: column; gap: .65rem; }.campaign-news__list { grid-template-columns: 1fr; gap: .55rem; margin-top: 1rem; }.campaign-news__list article { min-height: 65px; }.campaign-related .related.products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }.campaign-live-proof { bottom: 84px; left: 12px; width: min(340px, calc(100% - 24px)); padding: .8rem; } }

.campaign-ticket-card .ruangaksi-registration-hint { grid-column: 1 / -1; margin: .1rem 0 0; color: #718093; font-size: .72rem; line-height: 1.45; }.campaign-ticket-card .ruangaksi-registration-hint a { color: #078d4a; font-weight: 800; }
@media (max-width: 780px) { .campaign-ticket-card .ruangaksi-registration-hint { grid-column: auto; } }

/* Standalone campaign landing: deliberately without site chrome or extra CTAs. */
body.campaign-landing-page--focus { min-width: 0; background: #f2f6f4; }
.campaign-landing--focus { min-height: 100vh; padding: clamp(1rem, 3vw, 2.5rem) 0 clamp(2rem, 5vw, 4.5rem); }
.campaign-landing--focus .campaign-landing__shell { width: min(calc(100% - 40px), 1040px); }
.campaign-landing--focus .woocommerce-notices-wrapper { margin: 0 0 1rem; }
.campaign-landing--focus .woocommerce-error { margin: 0; border-radius: 14px; }
.campaign-landing--focus .campaign-ticket-card__open { grid-column: 2; grid-row: 1 / span 3; display: inline-flex; min-width: 196px; min-height: 52px; align-items: center; justify-content: center; gap: .48rem; padding: .85rem 1.2rem; border: 0; border-radius: 12px; background: linear-gradient(135deg, #079d58, #067542); box-shadow: 0 4px 0 #075c37, 0 11px 19px rgba(6,110,62,.22); color: #fff; font-size: .9rem; font-weight: 850; line-height: 1; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.campaign-landing--focus .campaign-ticket-card__open:hover { color: #fff; box-shadow: 0 5px 0 #075c37, 0 14px 24px rgba(6,110,62,.25); transform: translateY(-1px); }
.campaign-landing--focus .campaign-ticket-card__open span { font-size: 1.05rem; }
.campaign-ticket-dialog[hidden] { display: none; }
.campaign-ticket-dialog { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(19, 34, 28, .6); backdrop-filter: blur(5px); }
.campaign-ticket-dialog__panel { position: relative; width: min(100%, 430px); padding: clamp(1.45rem, 5vw, 2.2rem); border: 1px solid rgba(255,255,255,.75); border-radius: 22px; background: #fff; box-shadow: 0 22px 62px rgba(7,27,19,.35); }
.campaign-ticket-dialog__close { position: absolute; top: .8rem; right: .85rem; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #dce7e1; border-radius: 50%; background: #f7faf8; color: #426052; font-family: Arial, sans-serif; font-size: 1.45rem; line-height: 1; cursor: pointer; }
.campaign-ticket-dialog__eyebrow { margin: 0; color: #078b4b; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.campaign-ticket-dialog h2 { margin: .45rem 2rem .45rem 0; color: #1f3d30; font-family: Inter, "Avenir Next", system-ui, sans-serif; font-size: clamp(1.45rem, 5vw, 1.85rem); letter-spacing: -.045em; line-height: 1.08; }
.campaign-ticket-dialog__description { margin: 0; color: #65776e; font-size: .88rem; line-height: 1.55; }
.campaign-ticket-dialog__form { display: grid; gap: .5rem; margin-top: 1.35rem; }
.campaign-ticket-dialog__form label { margin-top: .4rem; color: #305447; font-size: .75rem; font-weight: 850; }
.campaign-ticket-dialog__form input { width: 100%; min-height: 48px; padding: .72rem .85rem; border: 1px solid #cbdcd3; border-radius: 10px; background: #fbfdfc; color: #203e31; font: inherit; font-size: .92rem; outline: none; }
.campaign-ticket-dialog__form input:focus { border-color: #079d58; box-shadow: 0 0 0 3px rgba(7,157,88,.14); }
.campaign-ticket-dialog__submit { display: inline-flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; gap: .5rem; margin-top: .8rem; border: 0; border-radius: 11px; background: #078d4d; color: #fff; font-size: .87rem; font-weight: 850; cursor: pointer; }
.campaign-ticket-dialog__submit:hover { background: #05763f; color: #fff; }
.campaign-ticket-dialog__submit span { font-size: 1.1rem; }
.campaign-ticket-dialog__register { margin: 1.1rem 0 0; color: #65776e; font-size: .8rem; text-align: center; }
.campaign-ticket-dialog__register a { color: #078b4b; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
body.campaign-dialog-open { overflow: hidden; }
@media (max-width: 780px) { body.campaign-landing-page--focus { padding-bottom: 0; }.campaign-landing--focus { padding: 12px 0 2rem; }.campaign-landing--focus .campaign-landing__shell { width: min(calc(100% - 24px), 1040px); }.campaign-landing--focus .campaign-ticket-card__open { grid-column: auto; grid-row: auto; width: 100%; margin-top: .45rem; }.campaign-ticket-dialog { align-items: end; padding: 12px; }.campaign-ticket-dialog__panel { max-height: calc(100dvh - 24px); overflow: auto; border-radius: 20px; }.campaign-ticket-dialog__form input { font-size: 16px; } }
