/* YOOLABOX 1.1 — visual system. No checkout markup or transaction changes. */
body.yb {
 --yb-ink:#20343b;--yb-muted:#52646b;--yb-green:#00646a;--yb-dark:#172f36;
 --yb-mint:#eaf6f5;--yb-paper:#f7f9f9;--yb-line:#ccdadd;--yb-focus:#493bc4;
 --yb-radius:18px;--yb-shadow:0 8px 28px rgba(23,47,54,.06);
 background:var(--yb-paper);color:var(--yb-ink);line-height:1.65;
}
/* Clear action hierarchy, generous targets and no fixed text heights. */
.yb .btn,
.yb .woocommerce :is(a.button,button.button,input.button,#respond input#submit),
.yb .wc-block-components-button:not(.is-link),
.yb .elementor a.elementor-button,
.yb .wp-block-button__link {
 display:inline-flex;align-items:center;justify-content:center;gap:10px;
 min-height:52px;max-width:100%;padding:13px 24px;border:2px solid var(--yb-green);
 border-radius:12px;background:var(--yb-green);color:#fff;
 font-family:inherit;font-size:1rem;font-weight:700;line-height:1.5;letter-spacing:.01em;
 text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;
 box-shadow:0 3px 0 rgba(23,47,54,.12);cursor:pointer;
 transition:background-color .16s,border-color .16s,box-shadow .16s;
}
.yb .btn:hover,
.yb .woocommerce :is(a.button,button.button,input.button,#respond input#submit):hover,
.yb .wc-block-components-button:not(.is-link):hover,
.yb .elementor a.elementor-button:hover,
.yb .wp-block-button__link:hover {background:#004b50;border-color:#004b50;color:#fff;box-shadow:0 6px 16px rgba(23,47,54,.14)}
.yb .btn:active,.yb .woocommerce .button:active {box-shadow:none}
.yb .btn.secondary,.yb .wp-block-button.is-style-outline .wp-block-button__link {
 background:#fff;color:var(--yb-green);border-color:var(--yb-green);box-shadow:none;
}
.yb .btn.secondary:hover,.yb .wp-block-button.is-style-outline .wp-block-button__link:hover {background:var(--yb-mint);color:#004b50}
.yb .home-hero .btn,.yb .band .btn {background:#66e0d5;color:#17343a;border-color:#66e0d5}
.yb .home-hero .btn:hover,.yb .band .btn:hover {background:#a3eee6;color:#17343a;border-color:#a3eee6}
.yb :is(button,input.button):disabled,
.yb .woocommerce :is(a.button,button.button,input.button).disabled,
.yb .wc-block-components-button[aria-disabled=true] {
 background:#e1e7e8;border-color:#8b9da3;color:#45565e;opacity:1;box-shadow:none;cursor:not-allowed;
}
/* Two-tone focus stays visible on both white and dark surfaces. */
.yb :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
 outline:3px solid #493bc4!important;outline-offset:4px!important;box-shadow:0 0 0 4px #fff!important;
}
.yb .skip {border:2px solid var(--yb-green);border-radius:8px;color:#004b50;min-height:48px;padding:10px 18px}
.yb .utility {background:#172f36;color:#fff}
.yb .utility a,.yb .utility .comfort {color:#fff}
.yb .utility .comfort {background:transparent;border:1px solid #a4bdc3;border-radius:8px;padding:7px 14px}
.yb .utility .comfort:hover,.yb .utility .comfort[aria-pressed=true] {background:#eaf6f5;color:#17343a}
.yb .site-header {background:#fff;border-bottom:1px solid var(--yb-line);box-shadow:0 3px 16px rgba(23,47,54,.025)}
.yb .header-row {min-height:102px;gap:28px}
.yb .primary-nav {gap:24px}
.yb .primary-nav .yb-menu a {font-size:1rem;line-height:1.5;color:#20343b;border-radius:7px}
.yb .primary-nav .yb-menu a:hover,.yb .primary-nav .yb-menu a[aria-current=page] {color:#004b50;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.yb .primary-nav > a.yb-cart-link {
 display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 padding:10px 22px;border:1px solid #719397;border-radius:12px;background:#edf7f6;color:#004b50;
}
.yb .primary-nav > a.yb-cart-link:hover {background:#dcefee;text-decoration:underline}
.yb .yb-menu .sub-menu {border-radius:12px;box-shadow:0 14px 32px #17343a1a;border-color:#b9cbd0}
.yb .menu-button {border:1px solid #719397;background:#fff;color:#004b50;border-radius:10px;min-width:64px}
.yb h1,.yb h2 {text-wrap:balance}
.yb h2 {letter-spacing:-.035em;line-height:1.2}
.yb .eyebrow {font-size:.85rem;letter-spacing:.12em;font-weight:700}
.yb .home-hero {
 background:linear-gradient(120deg,#172f36 10%,#214a50 100%);border:1px solid #31555b;
 border-radius:22px;padding:46px 48px;margin-block:30px;box-shadow:var(--yb-shadow);
}
.yb .home-hero h1 {font-size:clamp(2.6rem,4.6vw,4.3rem);line-height:1.08}
.yb .home-hero .hero-emphasis {color:#66e0d5}
.yb .home-hero .hero-copy>p:not(.eyebrow) {font-size:1.125rem;line-height:1.7}
.yb .home-hero .hero-stage img {border-radius:8px;box-shadow:0 14px 26px #081c2455}
.yb .home-hero .stage-poster small {font-size:.875rem;letter-spacing:0;line-height:1.5}
.yb .home-hero .row>a:not(.btn) {font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
.yb .search {padding:26px;background:#fff;border:1px solid #bdced1;border-radius:16px;box-shadow:var(--yb-shadow);gap:18px}
.yb .search label {font-size:1rem}
.yb .chip {background:#fff;border:1px solid #79969c;color:#27434a;border-radius:999px;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;line-height:1.5}
.yb .chip:hover {background:#e1f1ef;border-color:#00646a;text-decoration:underline}
.yb .chip[aria-pressed=true],.yb .chip[aria-current=page] {background:#00646a;color:#fff;border-color:#00646a}
.yb .event-grid {gap:26px}
.yb .event-card {border:1px solid #ccdadd;border-radius:18px;background:#fff;box-shadow:var(--yb-shadow);overflow:visible}
.yb .event-card .card-poster {border-radius:17px 17px 0 0;background:#edf2f3;border-bottom:1px solid #d9e4e6}
.yb .event-card .card-poster:hover {background:#e1eeed}
.yb .event-card .card-content {padding:24px;gap:2px}
.yb .card-content h3 {font-size:1.4rem;line-height:1.3;letter-spacing:-.02em}
.yb .card-date {font-size:.9rem;letter-spacing:.01em}
.yb .poster-caption {font-size:.8rem;letter-spacing:.06em}
.yb .card-bottom {gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
.yb .card-bottom a,.yb .agenda-action {
 display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
 padding:10px 16px;background:#eaf6f5;color:#004b50;border:1px solid #719397;
 border-radius:10px;text-decoration:none;font-size:1rem;font-weight:700;line-height:1.5;
}
.yb .card-bottom a:hover,.yb .agenda-action:hover {background:#d8eeeb;text-decoration:underline;border-color:#00646a}
.yb .agenda-list {border:1px solid var(--yb-line);border-radius:16px;background:#fff;box-shadow:var(--yb-shadow)}
.yb .agenda-item {padding:24px;gap:20px}
.yb .agenda-item:last-child {border-bottom:0;border-radius:0 0 16px 16px}
.yb .agenda-item:first-child {border-radius:16px 16px 0 0}
.yb .agenda-item:nth-child(2n) {background:#edf5f4}
.yb .band {background:#172f36;border-radius:20px;padding:44px}
.yb .guide-link {border-color:#8aadb3;border-radius:12px}
.yb .guide-link:hover {background:#254b52;text-decoration:underline}
.yb .how-grid>div {padding:26px;border:1px solid var(--yb-line);border-radius:16px;background:#fff}
.yb .number {background:#00646a;color:#fff;border-radius:12px;width:44px;height:44px;margin-bottom:20px}
.yb .help-band {background:#eaf6f5;border:1px solid #b2d1cf;border-radius:18px;padding:32px}
.yb .site-footer {background:#edf3f3;border-top:1px solid #ccdadd;padding-top:48px}
.yb .site-footer a {color:#004b50}
.yb :is(.booking,.information,.account-card,.form-panel,.summary,.discover-card) {border:1px solid #c2d4d7;border-radius:18px;box-shadow:var(--yb-shadow);background:#fff}
.yb .woocommerce div.product .summary {padding:28px}
.yb .woocommerce ul.products li.product {background:#fff;border:1px solid var(--yb-line);border-radius:16px;padding:18px;box-shadow:var(--yb-shadow)}
.yb .woocommerce ul.products li.product a img {border-radius:10px}
.yb .woocommerce ul.products li.product .woocommerce-loop-product__title {font-size:1.3rem;line-height:1.35}
.yb .woocommerce ul.products li.product .price {color:#004b50;font-weight:700;font-size:1.1rem}
.yb .woocommerce table.shop_table {background:#fff;border-radius:12px;border-color:#bfced2}
.yb .woocommerce table.shop_table :is(th,td) {padding:14px}
.yb .woocommerce a.remove {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:50%}
.yb .woocommerce .woocommerce-MyAccount-navigation ul {padding:12px;list-style:none;background:#fff;border:1px solid var(--yb-line);border-radius:14px}
.yb .woocommerce .woocommerce-MyAccount-navigation li a {padding:12px 16px;color:#004b50;border-radius:8px}
.yb .woocommerce .woocommerce-MyAccount-navigation li.is-active a {background:#e1f1ef;font-weight:700;text-decoration:underline}
.yb .woocommerce .woocommerce-MyAccount-content {background:#fff;padding:26px;border:1px solid var(--yb-line);border-radius:16px}
.yb input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.yb select,.yb textarea {border-color:#71888f;border-radius:10px;background:#fff;color:#20343b}
.yb input::placeholder,.yb textarea::placeholder {color:#52646b;opacity:1}
.yb .woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) {border-radius:10px;color:#20343b;line-height:1.6}
.yb .yb-checkout-steps {gap:12px}
.yb .yb-checkout-steps li {background:#edf3f3;border-radius:10px 10px 0 0;padding:16px;color:#52646b}
.yb .yb-checkout-steps li[aria-current=step] {background:#e1f1ef;color:#004b50;border-color:#00646a}
body.yb.woocommerce-checkout .woocommerce #payment #place_order {background:#00646a;color:#fff;border:2px solid #00646a;border-radius:12px;min-height:56px}
body.yb.woocommerce-checkout .woocommerce #payment #place_order:hover {background:#004b50;border-color:#004b50}
@media(max-width:1000px) {
 .yb .header-row {gap:18px}.yb .primary-nav {gap:14px}
 .yb .home-hero {padding:34px}.yb .how-grid {gap:18px}
 .yb .how-grid>div {padding:20px}
}
@media(max-width:800px) {
 .yb .header-row {min-height:86px}.yb .primary-nav>a.yb-cart-link {margin-top:8px;padding-inline:20px}
 .yb .event-card .card-content {padding:20px}.yb .band {padding:30px}
 .yb .woocommerce .woocommerce-MyAccount-content {margin-top:20px;padding:20px}
}
@media(max-width:540px) {
 .yb .home-hero {padding:28px 22px;border-radius:18px;margin-block:20px}
 .yb .home-hero h1 {font-size:clamp(2.25rem,9vw,3rem)}
 .yb .search {padding:20px}.yb .chips {gap:10px}
 .yb .chip {padding:10px 16px}.yb .section {padding-block:38px}
 .yb .agenda-item {padding:20px}.yb .agenda-action {justify-self:start}
 .yb .band,.yb .help-band {padding:24px}.yb .help-band .btn {width:100%}
 .yb .woocommerce div.product .summary {padding:20px}
 .yb .woocommerce table.shop_table :is(th,td) {padding:10px}
 .yb .yb-checkout-steps {gap:5px}.yb .yb-checkout-steps li {padding:12px 6px;font-size:.9rem}
}
@media(prefers-reduced-motion:reduce) {
 .yb *,.yb *::before,.yb *::after {transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active) {
 .yb :is(.btn,.chip,.agenda-action,.card-bottom a,.button,.wp-block-button__link) {border:2px solid ButtonText;box-shadow:none}
 .yb :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid Highlight!important}
}

/* 1.1.1 — restrained, flat buttons on checkout only. */
body.yb.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#respond input#submit),
body.yb.woocommerce-checkout .woocommerce #payment #place_order,
body.yb.woocommerce-checkout .wc-block-components-button:not(.is-link) {
 background:#00bdbb;color:#17232b;border:1px solid #00646a;
 border-radius:7px;box-shadow:none;text-shadow:none;
 min-height:50px;padding:12px 24px;font-family:inherit;font-size:1rem;
 font-weight:700;line-height:1.5;letter-spacing:0;text-transform:none;
 text-decoration:none;white-space:normal;max-width:100%;
}
body.yb.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#respond input#submit):hover,
body.yb.woocommerce-checkout .woocommerce #payment #place_order:hover,
body.yb.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
 background:#00a89f;color:#17232b;border-color:#004b50;box-shadow:none;
}
body.yb.woocommerce-checkout .woocommerce #payment #place_order,
body.yb.woocommerce-checkout .wc-block-components-checkout-place-order-button {width:100%;min-height:54px;float:none}
/* Login and coupon actions are secondary to placing the order. */
body.yb.woocommerce-checkout .woocommerce :is(.woocommerce-form-login,.checkout_coupon) :is(a.button,button.button,input.button,#respond input#submit) {
 background:#fff;color:#004b50;border:1px solid #00646a;box-shadow:none;
}
body.yb.woocommerce-checkout .woocommerce :is(.woocommerce-form-login,.checkout_coupon) :is(a.button,button.button,input.button,#respond input#submit):hover {
 background:#eaf6f5;color:#004b50;
}
body.yb.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#respond input#submit):is(:disabled,.disabled,[aria-disabled=true]),
body.yb.woocommerce-checkout .woocommerce #payment #place_order:disabled,
body.yb.woocommerce-checkout .wc-block-components-button:not(.is-link):is(:disabled,[aria-disabled=true]) {
 background:#e1e7e8;color:#45565e;border-color:#8b9da3;opacity:1;box-shadow:none;cursor:not-allowed;
}
@media(max-width:540px) {
 body.yb.woocommerce-checkout .woocommerce :is(.woocommerce-form-login,.checkout_coupon) .button {width:100%}
}
@media(forced-colors:active) {
 body.yb.woocommerce-checkout .woocommerce :is(a.button,button.button,input.button,#respond input#submit),
 body.yb.woocommerce-checkout .woocommerce #payment #place_order,
 body.yb.woocommerce-checkout .wc-block-components-button:not(.is-link) {border:2px solid ButtonText}
}
