:root {
    --tap-bg: #f7f3ed;
    --tap-card: #ffffff;
    --tap-ink: #1f1f1f;
    --tap-muted: #68625b;
    --tap-line: #e3d9cf;
    --tap-accent: #9a4f22;
    --tap-accent-dark: #6e3617;
    --tap-shadow: 0 18px 48px rgba(28, 21, 15, 0.08);
    --tap-radius: 18px;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--tap-bg);
    color: var(--tap-ink);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.65;
}
a { color: var(--tap-accent-dark); }
a:hover, a:focus { color: var(--tap-accent); }
.tap-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}
.site-header {
    background: linear-gradient(135deg, #222 0%, #47413b 100%);
    color: #fff;
    border-bottom: 4px solid var(--tap-accent);
}
.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 0;
}
.site-title { margin: 0; font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 800; }
.site-title a { color: #fff; text-decoration: none; }
.site-description { margin: 4px 0 0; color: rgba(255,255,255,.78); }
.primary-navigation ul,
.footer-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; }
.primary-navigation a { color: #fff; text-decoration: none; font-weight: 700; }
.tap-content-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    padding: 44px 0;
}
.tap-full-width-content { padding: 44px 0; }
.tap-card {
    background: var(--tap-card);
    border: 1px solid var(--tap-line);
    border-radius: var(--tap-radius);
    box-shadow: var(--tap-shadow);
    padding: clamp(22px, 3vw, 42px);
    margin-bottom: 28px;
}
.tap-full-width-card { width: 100%; }
.entry-title { margin-top: 0; line-height: 1.15; font-size: clamp(2rem, 5vw, 4.4rem); }
.entry-content > *:first-child { margin-top: 0; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content .alignwide { max-width: 1100px; }
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.tap-sidebar .widget {
    background: #fff;
    border: 1px solid var(--tap-line);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 22px;
}
.site-footer {
    background: #1e1e1e;
    color: rgba(255,255,255,.78);
    padding: 30px 0;
}
.site-footer a { color: #fff; }
.site-footer-inner { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; }
button,
input[type="submit"],
.wp-block-button__link {
    border-radius: 999px;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: #fff;
    border: 1px solid var(--tap-line);
    border-radius: 16px;
    padding: 16px;
    box-shadow: var(--tap-shadow);
}
.tap-woocommerce-page .tap-content-layout {
    grid-template-columns: minmax(0, 1fr);
}
.tap-woocommerce-page .tap-sidebar { display: none; }
body.page-template-page-full-width .tap-trip-planner,
body.tap-full-width-page .tap-trip-planner {
    max-width: 100% !important;
}
body.page-template-page-full-width .entry-content,
body.tap-full-width-page .entry-content {
    max-width: none;
}
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
.skip-link:focus {
    clip: auto !important;
    clip-path: none;
    height: auto;
    width: auto;
    left: 12px;
    top: 12px;
    z-index: 100000;
    background: #fff;
    padding: 10px 14px;
}
@media (max-width: 860px) {
    .site-header-inner,
    .site-footer-inner { align-items: flex-start; flex-direction: column; }
    .tap-content-layout { grid-template-columns: 1fr; }
    .tap-container { width: min(100% - 24px, 1180px); }
}
