/* ==========================================================================
   SKYSTONE - SHOP V32
   Conteúdo central oficial: 535px.
   A lógica do WebShop continua no CORE.
   ========================================================================== */

body.template-skystone .public-webshop {
    width: 100%;
    min-width: 0;
    margin: 0;
    color: #537b88;
    box-sizing: border-box;
}

body.template-skystone .public-webshop,
body.template-skystone .public-webshop * {
    box-sizing: border-box;
}

/* Cabeçalho ------------------------------------------------------------- */

body.template-skystone .public-webshop-title {
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom: 1px solid #dcebed;
}

body.template-skystone .public-webshop-title span {
    display: block;
    margin: 0 0 6px;
    color: #73a6b5;
    font-size: 6px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.25px;
}

body.template-skystone .public-webshop-title h1 {
    margin: 0;
    color: #075f78;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.05;
}

body.template-skystone .public-webshop-title p {
    margin: 7px 0 0;
    color: #7596a0;
    font-size: 7px;
    line-height: 1.4;
}

/* Escolha do Shop ------------------------------------------------------- */

body.template-skystone .public-webshop-shop-grid {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.template-skystone .public-webshop-shop-card {
    min-width: 0;
    padding: 8px;
    overflow: hidden;
    border: 1px solid #d5e6e9;
    border-radius: 0;
    background: #fbfefe;
    text-decoration: none;
    box-shadow: none;
}

body.template-skystone .public-webshop-shop-card:hover {
    transform: translateY(-1px);
    border-color: #9acbd5;
}

body.template-skystone .public-webshop-shop-card h2 {
    margin: 0;
    min-height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #075f78;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
}

body.template-skystone .public-webshop-shop-image {
    width: 100%;
    height: 170px;
    border-radius: 0;
    background: #eef7f9;
}

body.template-skystone .public-webshop-shop-image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

body.template-skystone .public-webshop-shop-card p {
    min-height: 34px;
    margin: 7px 3px 1px;
    color: #7899a4;
    font-size: 6px;
    line-height: 1.35;
    text-align: center;
}

/* Estados --------------------------------------------------------------- */

body.template-skystone .public-webshop-empty,
body.template-skystone .public-webshop-login-required {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 16px;
    border: 1px dashed #d4e5e9;
    border-radius: 0;
    background: #f8fcfd;
    color: #7697a2;
}

body.template-skystone .public-webshop-login-required > span {
    color: #75a2ae;
    font-size: 5.5px;
}

body.template-skystone .public-webshop-login-required h1 {
    margin: 6px 0 8px;
    color: #075f78;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
}

body.template-skystone .public-webshop-login-required p,
body.template-skystone .public-webshop-login-hint {
    color: #7596a0;
    font-size: 6.5px;
}

body.template-skystone .public-webshop-login-hint {
    margin-top: 10px;
    padding: 9px;
    border: 1px solid #d9e8eb;
    border-radius: 0;
    background: #fff;
}

/* Browser de produtos -------------------------------------------------- */

body.template-skystone .public-webshop-browser {
    width: 100%;
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

body.template-skystone .public-webshop-sidebar {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d3e4e8;
    border-radius: 0;
    background: #fbfefe;
}

body.template-skystone .public-webshop-search {
    padding: 6px;
    background: #f1f8fa;
}

body.template-skystone .public-webshop-search input {
    width: 100%;
    height: 29px;
    padding: 0 7px;
    border: 1px solid #d0e3e7;
    border-radius: 0;
    background: #fff;
    color: #315e6c;
    font-size: 6px;
}

body.template-skystone .public-webshop-group {
    min-height: 28px;
    padding: 0 7px;
    background: #edf7f9;
    color: #075f78;
    font-size: 6px;
}

body.template-skystone .public-webshop-categories > a {
    min-height: 29px;
    padding: 0 7px;
    gap: 5px;
    border-top: 1px solid #e3eef0;
    color: #668995;
    font-size: 5.8px;
}

body.template-skystone .public-webshop-categories > a:hover,
body.template-skystone .public-webshop-categories > a.active {
    background: #e7f7fa;
    color: #087997;
}

body.template-skystone .public-webshop-products {
    min-width: 0;
    min-height: 0;
}

body.template-skystone .public-webshop-products-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

body.template-skystone .public-webshop-product {
    min-width: 0;
    padding: 7px;
    border: 1px solid #d5e6e9;
    border-radius: 0;
    background: #fbfefe;
    text-decoration: none;
}

body.template-skystone .public-webshop-product:hover {
    transform: translateY(-1px);
    border-color: #9dcdd6;
}

body.template-skystone .public-webshop-product-image {
    height: 72px;
}

body.template-skystone .public-webshop-product-image img {
    max-width: 68px;
    max-height: 68px;
}

body.template-skystone .public-webshop-product h3 {
    min-height: 24px;
    margin: 5px 0 3px;
    overflow: hidden;
    color: #075f78;
    font-size: 5.8px;
    line-height: 1.25;
}

body.template-skystone .public-webshop-product > strong {
    color: #087a99;
    font-size: 5.5px;
}

body.template-skystone .public-webshop-product-action {
    margin-top: 6px;
    padding: 5px 3px;
    border: 1px solid #b6d9e0;
    border-radius: 0;
    background: #edf9fb;
    color: #087a99;
    font-size: 5px;
}

/* Configurador ---------------------------------------------------------- */

body.template-skystone .public-webshop-product-configurator {
    width: 100%;
    max-width: none;
    margin: 0;
}

body.template-skystone .public-webshop-config-topbar {
    margin-bottom: 8px;
}

body.template-skystone .public-webshop-config-topbar a,
body.template-skystone .public-webshop-config-topbar span {
    font-size: 5.5px;
}

body.template-skystone .public-webshop-config-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 8px;
}

body.template-skystone .public-webshop-item-preview {
    position: static;
    padding: 8px;
    border: 1px solid #d5e6e9;
    border-radius: 0;
    background: #fbfefe;
}

body.template-skystone .public-webshop-item-preview-image {
    min-height: 130px;
    border-radius: 0;
    background: #eef7f9;
}

body.template-skystone .public-webshop-item-preview-image img {
    max-height: 135px;
}

body.template-skystone .public-webshop-item-preview h2 {
    margin: 8px 0 3px;
    color: #075f78;
    font-size: 8px;
}

body.template-skystone .public-webshop-item-code,
body.template-skystone .public-webshop-preview-options {
    color: #7697a2;
    font-size: 5.2px;
}

body.template-skystone .public-webshop-preview-options {
    margin-top: 7px;
    padding: 6px;
    border-top: 1px solid #e0edef;
}

body.template-skystone .public-webshop-options {
    min-width: 0;
    gap: 7px;
}

body.template-skystone .public-webshop-options fieldset {
    min-width: 0;
    margin: 0;
    padding: 8px;
    overflow: hidden;
    border: 1px solid #d5e6e9;
    border-radius: 0;
    background: #fbfefe;
    color: #6d909b;
}

body.template-skystone .public-webshop-options legend {
    padding: 0 4px;
    color: #087997;
    font-size: 6px;
}

body.template-skystone .public-webshop-options label:not(.ws-check) {
    margin-bottom: 6px;
    gap: 8px;
    color: #577d89;
    font-size: 5.8px;
}

body.template-skystone .public-webshop-options select {
    width: 54%;
    min-width: 0;
    height: 27px;
    padding: 0 5px;
    border: 1px solid #d1e3e7;
    border-radius: 0;
    background: #fff;
    color: #315e6c;
    font-size: 5.5px;
}

body.template-skystone .ws-check,
body.template-skystone .public-webshop-options small,
body.template-skystone .ws-warning,
body.template-skystone .public-webshop-price-box div,
body.template-skystone .public-webshop-stage-note {
    font-size: 5.5px;
}

body.template-skystone .ws-warning,
body.template-skystone .public-webshop-stage-note {
    padding: 7px;
    border-radius: 0;
    background: #f5fafb;
    color: #71929d;
}

body.template-skystone .public-webshop-proceed {
    height: 32px;
    border: 1px solid #64bed0;
    border-radius: 0;
    background: #25b1c8;
    color: #fff;
    font-size: 6px;
}

/* Cupom ----------------------------------------------------------------- */

body.template-skystone .public-webshop-coupon-row input {
    height: 28px;
    border-color: #d1e3e7;
    border-radius: 0;
    background: #fff;
    color: #315e6c;
    font-size: 5.5px;
}

body.template-skystone .public-webshop-coupon-button {
    min-width: 62px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid #64bed0;
    border-radius: 0;
    background: #eaf8fa;
    color: #087a99;
    font-size: 5px;
}

body.template-skystone .public-webshop-coupon-message {
    min-height: 13px;
    margin-top: 5px;
    font-size: 5.5px;
}

/* Responsive ------------------------------------------------------------ */

@media (max-width: 620px) {
    body.template-skystone .public-webshop-shop-grid,
    body.template-skystone .public-webshop-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.template-skystone .public-webshop-browser,
    body.template-skystone .public-webshop-config-grid {
        grid-template-columns: 1fr;
    }

    body.template-skystone .public-webshop-shop-image {
        height: 145px;
    }
}
