/* Preserve the original architecture; refine legibility and control spacing.
   DESIGN_VARIANCE: preserve; MOTION_INTENSITY: preserve; VISUAL_DENSITY: preserve. */
.af-refined {
    --af-fs-body: 18px;
    --af-fs-small: 18px;
    --af-refine-heading: clamp(32px, 3.3vw, 48px);
}
.af-refined > .row { margin-inline: 0; }
.af-refined :is(p, blockquote, .content, .content li, .description, .project-list-excerpt, .timeline-description, .item-details) {
    font-family: var(--af-font-body) !important;
    font-size: 18px !important;
    font-weight: 400;
    line-height: 1.8;
}
.af-refined :is(.af-about__cols p, .af-about__disc p, .af-tour__desc, .af-testi__quote, .services-item-description p, .project-list-excerpt p) {
    font-size: 18px !important; line-height: 1.8; font-weight: 400;
}
.af-refined .heading .title, .af-refined .parent-title, .af-refined .af-about__title {
    font-size: var(--af-refine-heading); font-weight: 400; line-height: 1.2;
}
/* Section titles now lead directly, without space reserved for a small label. */
.af-refined .heading > .title:first-child,
.af-refined .prague-shortcode-parent .prague-shortcode-heading > .parent-title:first-child,
.af-refined .top-banner .content .title { margin-top: 0; }
.af-refined .top-banner .content .title {
    font-family: var(--af-font-display) !important;
    font-size: clamp(38px, 4vw, 56px); font-weight: 500; line-height: 1.16;
}
.af-refined :is(.project-list-title, .project-grid-item-title, .services-item-title, .af-about__disc-t, .af-tour__title, .product-list-title) {
    font-family: var(--af-font-display) !important; font-size: 26px; font-weight: 400; line-height: 1.3;
}
.af-refined :is(.project-list-title, .project-grid-item-title, .services-item-title, .product-list-title) a { font: inherit !important; }
.af-refined :is(.af-about__label, .af-testi__author, .project-list-category, .project-grid-item-category, .timeline-date) {
    font-family: var(--af-font-body) !important; font-size: 17px; font-weight: 400; line-height: 1.6; letter-spacing: normal;
}
.af-refined .af-about__num { font-family: var(--af-font-display) !important; }
.af-refined :is(.a-btn, .a-btn-2, .prague-services-link) {
    font-family: var(--af-font-body) !important; font-size: 17px; font-weight: 400; line-height: 1.5; letter-spacing: .04em;
}
.af-refined .a-btn { padding-block: 14px; }
.af-refined .prague-footer { --af-footer-font-size: 18px; }
.af-refined .prague-footer .af-back-to-top { font-size: 18px; }
.af-refined .af-about__plan { transform: none; }
.af-refined .af-about__body { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 48px; }
.af-refined .af-about__stats { margin-top: 64px; }
.af-refined .af-hero-left .content .description { max-width: 720px; }
.af-refined .af-testi__marquee:focus-within .af-testi__track { animation-play-state: paused; }
.af-refined :is(input,select,textarea,label,.af-error,.invalid-feedback,.details-group,.item-quantity,.item-variation,.summary-row,.order-number,.email-notice) {
    font-family: var(--af-font-body) !important; font-size: 18px !important; font-weight: 400; line-height: 1.6; letter-spacing: normal; text-transform: none;
}
.af-refined :is(.af-field, .form-row) :is(input,select,textarea) { min-height: 52px; }
.af-refined :is(.af-aside p, .af-aside ol li, .af-book__lead, .af-book__success p) { font-size: 18px; font-weight: 400; line-height: 1.8; }
.af-refined .af-aside h3 { font-family: var(--af-font-display) !important; font-size: 26px; line-height: 1.3; font-weight: 400; letter-spacing: normal; text-transform: none; }
.af-refined :is(.af-submit, .place-order-button, .continue-shopping) { font-family: var(--af-font-body) !important; font-size: 17px; font-weight: 400; letter-spacing: .04em; min-height: 52px; }
.af-refined .af-book__title { font-size: var(--af-refine-heading); font-weight: 400; line-height: 1.2; }
.af-refined .woocommerce :is(.price, .price span, .product_meta, .product_meta span, .product_meta a) {
    font-family: var(--af-font-body) !important; font-size: 18px !important; font-weight: 400; line-height: 1.6; letter-spacing: normal;
}
.af-refined .woocommerce .woocommerce-Price-currencySymbol { vertical-align: baseline !important; }
.af-refined .single-product .product_title { font-size: var(--af-refine-heading); font-weight: 400; line-height: 1.2; }
.af-refined .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 20px; }
.af-refined .woocommerce div.product form.cart .variations { flex-basis: 100%; }
.af-refined .woocommerce div.product form.cart div.quantity { float: none; width: 88px; margin: 0; }
.af-refined .woocommerce div.product form.cart .quantity label { display: block; margin: 0 0 10px; }
.af-refined .woocommerce div.product form.cart .qty {
    display: block; position: static; width: 88px; height: 54px; min-height: 54px; margin: 0; padding: 12px; border: 1px solid #ccc; box-sizing: border-box; text-align: left; background: #fff; color: #282825; appearance: auto;
}
.af-refined .woocommerce div.product form.cart .qty::-webkit-inner-spin-button { -webkit-appearance: auto; margin: 0; }
.af-refined .woocommerce div.product form.cart .single_add_to_cart_button {
    float: none; width: auto; height: 54px; min-height: 54px; margin: 0; padding: 12px 28px; border: 1px solid #282825; box-sizing: border-box; font: 400 17px/1.5 var(--af-font-body); letter-spacing: normal; text-transform: none; color: #fff; background: #282825;
}
.af-refined .woocommerce div.product form.cart .variation-select { width: 100%; min-height: 52px; }
.af-refined .woocommerce .woocommerce-ordering select { font-size: 17px; min-height: 48px; }
.af-refined :is(.cart-item-details, .cart-item-details div, .cart-total, .order-summary-table th, .order-summary-table td) { font: 400 18px/1.6 var(--af-font-body) !important; }
.af-refined .checkout-button { font-size: 17px; font-weight: 400; letter-spacing: normal; text-transform: none; }
.af-refined .af-share-label, .af-refined .prague-share-label { font: 400 17px/1.6 var(--af-font-body); letter-spacing: normal; }
.af-refined a:focus-visible, .af-refined button:focus-visible, .af-refined input:focus-visible, .af-refined select:focus-visible, .af-refined textarea:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media(max-width:1000px) { .af-refined .af-about__body { grid-template-columns: 1fr; } }
@media(max-width:767px) {
    .af-refined .af-about { margin-top: 80px; }
    .af-refined .af-hero-left .content .af-hero-cta { gap: 20px; }
    .af-refined .af-hero-left .content .a-btn { font-size: 16px; }
}
/* Keep larger navigation labels on one line. */
.af-refined header.prague-header.simple {
    position: fixed;
    height: 80px;
    padding: 0 32px;
    gap: 28px;
}
.af-refined .prague-header .prague-logo { flex-shrink: 0; }
.af-refined .prague-header .prague-header-wrapper { display: flex; align-items: center; margin-left: auto; }
.af-refined .prague-header nav .main-menu { display: flex; align-items: center; flex-wrap: nowrap; gap: 24px; }
.af-refined .prague-header nav .main-menu > li { margin: 0; }
.af-refined .prague-header nav .main-menu > li > a { font-size: 17px; letter-spacing: normal; font-weight: 400; text-transform: none; white-space: nowrap; color: #fff; }
.af-refined .prague-header .main-menu .sub-menu a { font-size: 17px; letter-spacing: normal; text-transform: none; }
.af-refined .prague-header .cart-wrapper { margin-left: 0; padding: 0 8px; }
.af-refined .prague-header .cart-icon { color: #fff; }
.af-refined .prague-header .prague-nav-menu-icon a { min-width: 44px; min-height: 44px; }
.af-refined .prague-header .prague-nav-menu-icon a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (min-width: 1440px) {
    .af-refined .prague-header .prague-navigation { display: block !important; }
    .af-refined .prague-header .prague-nav-menu-icon { display: none; }
}
@media (max-width: 1439px) {
    .af-refined .prague-header .prague-nav-menu-icon { display: block; }
    .af-refined .prague-header .prague-navigation {
        display: none !important;
        position: absolute;
        top: 100%; left: 0;
        width: 100%;
        height: calc(100vh - 80px) !important;
        height: calc(100dvh - 80px) !important;
        padding: 24px 40px;
        overflow-y: auto;
        text-align: left;
        background: #fff;
    }
    .af-refined .prague-header.open-menu .prague-navigation { display: block !important; }
    .af-refined .prague-header nav .main-menu { display: block; }
    .af-refined .prague-header nav .main-menu > li { display: block; margin: 0 0 12px; }
    .af-refined .prague-header nav .main-menu > li > a { color: var(--af-ink); padding: 8px 0; white-space: normal; }
    .af-refined .prague-header .main-menu .sub-menu { position: static; display: block; visibility: visible; opacity: 1; border: 0; box-shadow: none; padding: 0 0 0 20px; background: #fff; }
    .af-refined .prague-header .main-menu .sub-menu li { display: block; }
    .af-refined .prague-header .main-menu .sub-menu li a { display: inline-block; padding: 8px 0; color: var(--af-ink) !important; }
    .af-refined .prague-header .main-menu .sub-menu li:hover > a { background: transparent; text-decoration: underline; }
    .af-refined .prague-header .cart-wrapper { width: fit-content; }
    .af-refined .prague-header .cart-icon { color: var(--af-ink); }
    .af-refined .prague-header .cart-dropdown { left: 0; right: auto; max-width: calc(100vw - 80px); }
}
/* A solid light header belongs with the page's white opening. */
.af-refined--plain header.prague-header.simple.sticky-menu.light {
    color: #282825;
    background: #fff !important;
    border-bottom: 1px solid var(--af-line);
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.af-refined--plain .prague-header.light .prague-logo a,
.af-refined--plain .prague-header nav .main-menu > li > a,
.af-refined--plain .prague-header nav .main-menu > li:hover > a,
.af-refined--plain .prague-header nav .main-menu > li.is-active > a,
.af-refined--plain .prague-header .cart-icon {
    color: #282825;
}
.af-refined--plain .prague-header.light .prague-nav-menu-icon a {
    color: #282825;
    border-color: #d4d4ce;
    background: transparent;
}
.af-refined--plain .prague-header.light .prague-nav-menu-icon a:hover { background: #f6f6f3; }
.af-refined--plain .prague-header.light .prague-nav-menu-icon a i,
.af-refined--plain .prague-header.light .prague-nav-menu-icon a i::before,
.af-refined--plain .prague-header.light .prague-nav-menu-icon a i::after { background: #282825; }
.af-refined--plain .prague-header.light .prague-nav-menu-icon.active a i { background: transparent; }
.af-refined--plain .prague-header.light .prague-social-nav > a { color: #282825; border-color: #d4d4ce; }
