/* SunnyCal shop, product and search UX - 2026.10.30.3.
   Loaded after the theme's responsive.css. No global typography changes. */

/* Keep commerce/search content within a readable desktop width. */
body.scs-shop-context #content.site-content > .container,
body.scs-product-context #content.site-content > .container,
body.scs-search-context #content.site-content > .container {
    width:100%; max-width:1200px; padding-left:20px; padding-right:20px;
    margin-left:auto; margin-right:auto; box-sizing:border-box;
}
body.scs-shop-context .fullwidth-content,
body.scs-product-context .fullwidth-content,
body.scs-search-context .fullwidth-content {
    margin-top:0; padding-top:24px; padding-bottom:32px;
}

/* Product hero: two explicit children, never a Bootstrap clearfix grid. */
body.scs-product-context #content-shop { width:100%; float:none; box-sizing:border-box; }
body.scs-product-context .scs-product-top {
    display:grid; grid-template-columns:minmax(0,42fr) minmax(0,54fr);
    gap:32px; align-items:start; margin:0 0 28px;
}
body.scs-product-context .scs-product-top::before,
body.scs-product-context .scs-product-top::after { content:none; display:none; }
body.scs-product-context .scs-product-media { position:relative; min-width:0; }
body.scs-product-context div.product .scs-product-media > div.images,
body.scs-product-context div.product .scs-product-media > div.woocommerce-product-gallery,
body.scs-product-context div.product .scs-product-top > div.summary {
    width:100% !important; max-width:100%; float:none !important;
    min-width:0; margin:0 !important; box-sizing:border-box;
}
/* FlexSlider owns wrapper width, transforms and viewport height. */
body.scs-product-context .scs-product-media .woocommerce-product-gallery__image > a > img {
    display:block; width:100%; height:auto; max-height:440px;
    object-fit:contain; margin:0 auto;
}
body.scs-product-context .scs-product-media .flex-control-thumbs {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px; margin:12px 0 0 !important; padding:0; list-style:none;
}
body.scs-product-context .scs-product-media .flex-control-thumbs li {
    float:none !important; width:auto !important; margin:0; padding:0;
}
body.scs-product-context .scs-product-media .flex-control-thumbs img {
    width:100%; height:76px; object-fit:contain; margin:0;
}
body.scs-product-context div.product .summary .product_title {
    font-size:26px; line-height:1.25; margin:0 0 12px; overflow-wrap:break-word;
}
body.scs-product-context div.product .summary p.price,
body.scs-product-context div.product .summary span.price {
    font-size:22px; line-height:1.3; margin:0 0 16px;
}
body.scs-product-context .summary .woocommerce-product-details__short-description {
    font-size:16px; line-height:1.5; border-top:0; border-bottom:1px solid #dfe4e9;
    padding:0 0 14px; margin:0 0 16px;
}
body.scs-product-context .summary .woocommerce-product-details__short-description p { margin:0 0 10px; }
body.scs-product-context .summary .woocommerce-product-details__short-description ul { margin:10px 0; padding-left:22px; }
body.scs-product-context .summary .woocommerce-product-details__short-description li { margin:3px 0; }
body.scs-product-context .summary form.cart { margin:0 0 18px; }
body.scs-product-context .summary form.cart:not(.variations_form):not(.grouped_form),
body.scs-product-context .summary .woocommerce-variation-add-to-cart {
    display:flex; flex-wrap:wrap; gap:10px; align-items:center;
}
body.scs-product-context .summary form.cart:not(.variations_form):not(.grouped_form)::before,
body.scs-product-context .summary form.cart:not(.variations_form):not(.grouped_form)::after,
body.scs-product-context .summary .woocommerce-variation-add-to-cart::before,
body.scs-product-context .summary .woocommerce-variation-add-to-cart::after { content:none; display:none; }
body.scs-product-context .summary .quantity { float:none !important; margin:0 !important; }
body.scs-product-context .summary .quantity .qty {
    width:70px; height:46px; border:1px solid #9299a3; font-size:16px;
}
body.scs-product-context .summary .single_add_to_cart_button.button {
    float:none; min-height:46px; padding:12px 20px; font-size:16px;
    font-weight:600; line-height:1.3;
}
body.scs-product-context .summary form.variations_form,
body.scs-product-context .summary form.grouped_form { display:block; }
body.scs-product-context .summary .variations { width:100%; }
body.scs-product-context .summary .variations select { max-width:100%; min-height:44px; font-size:16px; }
body.scs-product-context .summary .product_meta {
    margin-top:16px; padding-top:12px; border-top:1px solid #e2e5e9;
    font-size:13px; line-height:1.5; color:#5e6570; overflow-wrap:anywhere;
}
body.scs-product-context .summary .product_meta > span { display:block; margin:3px 0; }
body.scs-product-context div.product .woocommerce-tabs {
    clear:both; margin-top:0; padding-top:18px; border-top:1px solid #e0e4e8;
}

/* Category enhancement is activated only AFTER working controls exist.
   Without JavaScript all category links remain accessible. */
body.scs-shop-context #sidebar-shop .scs-category-tree,
body.scs-shop-context #sidebar-shop .scs-category-tree ul { list-style:none; margin:0; padding:0; }
body.scs-shop-context #sidebar-shop .scs-category-tree li { position:relative; margin:0; padding:0; }
body.scs-shop-context #sidebar-shop .scs-category-tree li > a,
body.scs-shop-context #sidebar-shop .scs-category-tree li > .scs-category-link-wrap > a {
    display:block; min-height:44px; padding:11px 44px 11px 4px;
    font-size:14px; line-height:1.5; color:#262626; overflow-wrap:break-word;
    border-bottom:1px solid #edf0f3;
}
body.scs-shop-context #sidebar-shop .scs-category-tree ul { margin-left:12px; }
body.scs-shop-context #sidebar-shop .scs-category-tree-ready ul[hidden] { display:none !important; }
body.scs-shop-context #sidebar-shop .scs-category-tree .current-cat > a,
body.scs-shop-context #sidebar-shop .scs-category-tree .current-cat-ancestor > a,
body.scs-shop-context #sidebar-shop .scs-category-tree .current-cat-parent > a { color:#02619f; font-weight:700; }
body.scs-shop-context #sidebar-shop .scs-category-toggle {
    position:absolute; right:0; top:0; display:flex; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0; border:0; background:transparent;
    color:#02619f; font-size:23px; font-weight:400; line-height:1; cursor:pointer;
}
body.scs-shop-context #sidebar-shop .scs-category-toggle:hover { background:#f0f6fa; }
body.scs-shop-context #sidebar-shop .scs-category-toggle:focus-visible,
body.scs-shop-context #sidebar-shop .scs-mobile-shop-toggle:focus-visible,
body.scs-search-context .scs-search-action:focus-visible {
    outline:2px solid #02619f; outline-offset:2px;
}
body.scs-shop-context .scs-mobile-shop-toggle { display:none; }
body.scs-shop-context #sidebar-shop .scs-sidebar-widgets { display:block; }

/* Image-led search cards. No generic h1, p, .post or .container overrides. */
body.scs-search-context .scs-search-page { max-width:1080px; margin:0 auto; }
body.scs-search-context .scs-search-header { margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid #dfe4e9; }
body.scs-search-context .scs-search-eyebrow { margin:0 0 6px; font-size:12px; font-weight:700; color:#02619f; letter-spacing:.04em; text-transform:uppercase; }
body.scs-search-context .scs-search-title { font-size:28px; line-height:1.25; margin:0 0 8px; overflow-wrap:anywhere; }
body.scs-search-context .scs-search-count { font-size:14px; color:#5e6570; margin:0 0 14px; }
body.scs-search-context .scs-search-refine { display:flex; width:100%; max-width:640px; }
body.scs-search-context .scs-search-refine input[type="search"] {
    flex:1 1 auto; min-width:0; height:44px; padding:10px 12px; border:1px solid #aeb7c1;
    border-right:0; font-size:16px; color:#202020; background:#fff; border-radius:0;
}
body.scs-search-context .scs-search-refine button { min-width:88px; min-height:44px; padding:10px 16px; border:1px solid #02619f; background:#02619f; color:#fff; font-size:15px; font-weight:600; }
body.scs-search-context .scs-search-card { display:grid; grid-template-columns:180px minmax(0,1fr); gap:22px; margin:0; padding:20px 0; border-bottom:1px solid #dfe4e9; }
body.scs-search-context .scs-search-card:first-child { padding-top:0; }
body.scs-search-context .scs-search-card-image {
    display:flex; align-items:center; justify-content:center; align-self:start;
    width:180px; height:150px; border:1px solid #e0e4e8; background:#fff;
}
body.scs-search-context .scs-search-card-image img { display:block; width:100%; height:100%; object-fit:contain; margin:0; }
body.scs-search-context .scs-search-card-content { min-width:0; overflow-wrap:anywhere; }
body.scs-search-context .scs-search-card-topline { display:flex; flex-wrap:wrap; gap:4px 10px; margin:0 0 6px; align-items:center; }
body.scs-search-context .scs-result-type { display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; padding:3px 7px; background:#e9f3fa; color:#02598f; }
body.scs-search-context .scs-search-category,
body.scs-search-context .scs-search-category a { font-size:12px; color:#626a73; }
body.scs-search-context .scs-search-card-title { font-size:21px; font-weight:600; line-height:1.3; margin:0 0 7px; }
body.scs-search-context .scs-search-card-title a { color:#173f68; }
body.scs-search-context .scs-search-card-title a:hover { text-decoration:underline; }
body.scs-search-context .scs-search-price { font-size:18px; font-weight:600; margin:0 0 8px; }
body.scs-search-context .scs-search-price ins { text-decoration:none; }
body.scs-search-context .scs-search-excerpt { font-size:15px; line-height:1.5; margin:0 0 10px; color:#414850; }
body.scs-search-context .scs-search-product-facts { font-size:12px; color:#5d6570; margin:0 0 10px; }
body.scs-search-context .scs-search-action { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid #02619f; color:#fff; background:#02619f; font-size:14px; font-weight:600; }
body.scs-search-context .scs-search-action:hover { background:#034f80; color:#fff; }
body.scs-search-context .navigation.pagination { margin-top:24px; }
body.scs-search-context .navigation.pagination .page-numbers { display:inline-block; min-width:40px; padding:8px; margin:2px; }
body.scs-search-context .scs-search-empty { padding:20px; border:1px solid #dfe4e9; }

@media (max-width:991px) {
    body.scs-product-context .scs-product-top { gap:24px; }
    body.scs-product-context div.product .summary .product_title { font-size:24px; }
    body.scs-shop-context .fullwidth-content > .row { display:flex; flex-direction:column; }
    body.scs-shop-context .fullwidth-content > .row::before,
    body.scs-shop-context .fullwidth-content > .row::after { content:none; display:none; }
    body.scs-shop-context #sidebar-shop { order:0; width:100%; float:none; padding:0 15px 16px; }
    body.scs-shop-context #content-shop { order:1; width:100%; float:none; }
    body.scs-shop-context .scs-mobile-shop-toggle {
        display:flex; align-items:center; justify-content:space-between; width:100%;
        min-height:46px; padding:10px 14px; border:1px solid #cbd3dc;
        background:#fff; color:#202830; font-size:16px; font-weight:600; text-align:left;
    }
    body.scs-shop-context #sidebar-shop.scs-sidebar-ready[data-scs-mobile-open="false"] > .scs-sidebar-widgets { display:none; }
    body.scs-shop-context #sidebar-shop.scs-sidebar-ready[data-scs-mobile-open="true"] > .scs-sidebar-widgets { padding-top:14px; }
}
@media (max-width:767px) {
    body.scs-shop-context #content.site-content > .container,
    body.scs-product-context #content.site-content > .container,
    body.scs-search-context #content.site-content > .container { padding-left:16px; padding-right:16px; }
    body.scs-product-context .scs-product-top { display:flex; flex-direction:column; gap:20px; margin-bottom:24px; }
    body.scs-product-context .scs-product-media { width:100%; }
    body.scs-product-context .scs-product-media .woocommerce-product-gallery__image > a > img { max-height:340px; }
    body.scs-product-context .scs-product-media .flex-control-thumbs img { height:64px; }
    body.scs-product-context .summary .single_add_to_cart_button.button { flex:1 1 150px; }
    body.scs-product-context .summary form.grouped_form .single_add_to_cart_button.button { width:100%; }
    body.scs-search-context .scs-search-title { font-size:24px; }
    body.scs-search-context .scs-search-card { grid-template-columns:110px minmax(0,1fr); gap:14px; padding:16px 0; }
    body.scs-search-context .scs-search-card-image { width:110px; height:110px; }
    body.scs-search-context .scs-search-card-title { font-size:18px; }
    body.scs-search-context .scs-search-price { font-size:17px; }
    body.scs-search-context .scs-search-excerpt { font-size:14px; }
}
@media (max-width:479px) {
    body.scs-search-context .scs-search-card { grid-template-columns:96px minmax(0,1fr); gap:12px; }
    body.scs-search-context .scs-search-card-image { width:96px; height:100px; }
    body.scs-search-context .scs-search-card-title { font-size:17px; }
}
