*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}



body{

    font-family:Arial, Helvetica, sans-serif;

    color:#222;

    background:#f7f7f7;

}



/* HEADER */



.header{

    background:#fff;

    padding:15px 5%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-bottom:1px solid #e5e5e5;

}



.logo img{

    height:110px;

    width:auto;

    display:block;

}



.navigation{

    display:flex;

    gap:35px;

}



.navigation a{

    text-decoration:none;

    color:#222;

    font-weight:600;

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:1px;

}



.navigation a:hover{

    color:#6b8f6d;

}



/* HERO */



.hero{

    display:grid;

    grid-template-columns:30% 70%;

    gap:55px;

    align-items:center;

    padding:60px 5%;

    background:#fff;

}



.hero-image img{

    width:100%;

    max-width:340px;

    height:300px;

    object-fit:cover;

    border-radius:14px;

    display:block;

    margin:0 auto;

}



.hero-content{

    max-width:800px;

}



.eyebrow{

    color:#6b8f6d;

    font-weight:bold;

    letter-spacing:2px;

    margin-bottom:20px;

    display:block;

}



.hero-content h1{

    font-size:52px;

    line-height:1.05;

    margin-bottom:25px;

}



.hero-content p{

    font-size:18px;

    line-height:1.8;

    color:#666;

    margin-bottom:20px;

}



.button{

    display:inline-block;

    margin-top:15px;

    padding:15px 32px;

    background:#111;

    color:#fff;

    text-decoration:none;

    font-weight:bold;

    letter-spacing:1px;

}



.button:hover{

    background:#333;

}



/* CATEGORY SECTION */



.categories{

    padding:90px 5%;

}



.section-heading{

    text-align:center;

    margin-bottom:50px;

}



.section-heading h2{

    font-size:38px;

    margin-bottom:10px;

}



.section-heading p{

    color:#666;

}



.category-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}



.category-card{

    background:#fff;

    border:1px solid #e4e4e4;

    height:200px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    color:#222;

    transition:.25s;

}



.category-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}



.category-card span{

    font-size:24px;

    font-weight:bold;

    letter-spacing:2px;

}



/* FOOTER */



.footer{

    background:#111;

    color:#fff;

    text-align:center;

    padding:30px;

}



/* TABLET */



@media(max-width:1000px){



    .hero{

        grid-template-columns:1fr;

        gap:40px;

    }



    .hero-image img{

        height:350px;

    }



    .hero-content h1{

        font-size:40px;

    }



    .category-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



/* MOBILE */



@media(max-width:600px){



    .navigation{

        display:none;

    }



    .hero{

        padding:40px 5%;

    }



    .hero-image img{

        height:250px;

    }



    .hero-content h1{

        font-size:32px;

    }



    .hero-content p{

        font-size:16px;

    }



    .category-grid{

        grid-template-columns:1fr;

    }

}







/* INNER PAGE HERO */



.page-hero{

    background:#fff;

    padding:80px 5%;

    text-align:center;

    border-bottom:1px solid #e5e5e5;

}



.page-hero h1{

    font-size:56px;

    line-height:1;

    letter-spacing:2px;

    margin-bottom:20px;

}



.page-hero p{

    max-width:700px;

    margin:0 auto;

    font-size:18px;

    line-height:1.7;

    color:#666;

}



@media(max-width:600px){



    .page-hero{

        padding:55px 5%;

    }



    .page-hero h1{

        font-size:40px;

    }



    .page-hero p{

        font-size:16px;

    }

}





/* PRODUCT LISTING PAGE */



.product-section{

    padding:80px 5%;

}



.product-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}



.product-card{

    background:#fff;

    border:1px solid #e4e4e4;

    text-decoration:none;

    color:#222;

    transition:.25s;

    display:block;

}



.product-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}



.product-image{

    height:240px;

    background:#f2f2f2;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}



.product-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    padding:18px;

}



.product-info{

    padding:22px;

}



.product-info h3{

    font-size:18px;

    line-height:1.35;

    margin-bottom:10px;

}



.product-meta{

    font-size:13px;

    color:#777;

    margin-bottom:10px;

}



.product-price{

    font-size:18px;

    font-weight:bold;

    color:#111;

}



/* PRODUCT RESPONSIVE */



@media(max-width:1100px){



    .product-grid{

        grid-template-columns:repeat(3,1fr);

    }

}



@media(max-width:800px){



    .product-grid{

        grid-template-columns:repeat(2,1fr);

    }

}



@media(max-width:500px){



    .product-grid{

        grid-template-columns:1fr;

    }

}





/* PRODUCT DETAIL PAGE */



.product-detail{

    display:grid;

    grid-template-columns:45% 55%;

    gap:70px;

    align-items:start;

    padding:80px 5%;

    background:#fff;

}



.product-detail-image{

    background:#f5f5f5;

    border:1px solid #e5e5e5;

    border-radius:14px;

    padding:35px;

    display:flex;

    align-items:center;

    justify-content:center;

}



.product-detail-image img{

    width:100%;

    max-height:520px;

    object-fit:contain;

    display:block;

}



.product-detail-info{

    max-width:760px;

}



.product-brand{

    color:#6b8f6d;

    font-weight:bold;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:16px;

}



.product-detail-info h1,
.product-style-title{

    font-size:30px;

    line-height:1.25;

    font-weight:400;

    margin-bottom:70px;

}



.factory-name{

    color:#666;

    font-size:16px;

    line-height:1.6;

    margin-bottom:18px;

}



.product-detail-price,
.product-tier-reference{

    font-size:15px;

    font-weight:400;

    color:#666;

    margin-top:18px;

}



.option-block{

    margin-bottom:28px;

}



.option-block h3{

    font-size:18px;

    margin-bottom:12px;

}



.option-list{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

}



.option-list span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:48px;

    padding:10px 14px;

    background:#f7f7f7;

    border:1px solid #ddd;

    border-radius:999px;

    font-size:14px;

    font-weight:600;

}



.size-list span{

    min-width:52px;

}



.product-description-section{

    padding:0 5% 90px;

    background:#fff;

}



.product-description-card{

    max-width:1100px;

    background:#f7f7f7;

    border:1px solid #e5e5e5;

    border-radius:14px;

    padding:40px;

    line-height:1.8;

    color:#555;

}



.product-description-card h4,

.product-description-card h3{

    color:#222;

    margin:28px 0 12px;

    font-size:20px;

}



.product-description-card ul{

    margin-left:22px;

    margin-bottom:20px;

}



.product-description-card li{

    margin-bottom:8px;

}



/* RESPONSIVE PRODUCT DETAIL */



@media(max-width:900px){



    .product-detail{

        grid-template-columns:1fr;

        gap:40px;

        padding:50px 5%;

    }



    .product-detail-info h1{

        font-size:36px;

    }



    .product-description-section{

        padding:0 5% 60px;

    }

}



@media(max-width:600px){



    .product-detail-image{

        padding:20px;

    }



    .product-detail-info h1{

        font-size:30px;

    }



    .product-detail-price,
    .product-tier-reference{

        font-size:14px;

    }



    .product-description-card{

        padding:25px;

    }

}

/* Clinic frontend access gate */
.clinic-login-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(107, 143, 109, 0.18), transparent 34%),
        linear-gradient(135deg, #f6f8f5 0%, #eef4ef 48%, #f8fafc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
}

.clinic-login-shell {
    width: 100%;
    max-width: 500px;
}

.clinic-login-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    border-radius: 28px;
    padding: 42px;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.14);
    border: 1px solid rgba(225, 232, 225, 0.95);
}

.clinic-login-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 7px;
    background: linear-gradient(90deg, #6b8f6d, #111827);
}

.clinic-login-logo img {
    max-width: 225px;
    height: auto;
    display: block;
    margin: 0 auto 28px;
}

.clinic-login-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef7ef;
    color: #466c48;
    font-size: 26px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px #cfe1d0;
}

.clinic-access-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eef7ef;
    color: #466c48;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.clinic-login-card .clinic-access-kicker {
    display: flex;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
}

.clinic-login-card h1 {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.08;
    color: #111827;
    text-align: center;
    letter-spacing: -0.02em;
}

.clinic-login-card p {
    margin: 0 0 26px;
    color: #5b6472;
    line-height: 1.6;
    text-align: center;
    font-size: 16px;
}

.clinic-login-error,
.clinic-login-notice {
    margin-bottom: 16px;
    padding: 13px 15px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.45;
}

.clinic-login-error {
    background: #fff1f2;
    color: #9f1239;
    border: 1px solid #fecdd3;
}

.clinic-login-notice {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
}

.clinic-login-form label,
.inline-clinic-form label {
    display: block;
    font-weight: 800;
    color: #111827;
    margin-bottom: 8px;
    font-size: 14px;
}

.clinic-login-form input,
.inline-clinic-row input {
    width: 100%;
    border: 1px solid #d4dce6;
    border-radius: 14px;
    padding: 15px 16px;
    font-size: 17px;
    background: #fff;
    color: #111827;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

.clinic-login-form input::placeholder,
.inline-clinic-row input::placeholder {
    color: #9aa4b2;
}

.clinic-login-form input:focus,
.inline-clinic-row input:focus {
    outline: none;
    border-color: #6b8f6d;
    box-shadow: 0 0 0 4px rgba(107, 143, 109, 0.16);
}

.clinic-login-form input {
    margin-bottom: 16px;
}

.clinic-login-form button,
.inline-clinic-row button {
    border: 0;
    border-radius: 14px;
    padding: 0 24px;
    background: linear-gradient(135deg, #111827, #2f4931);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 25px rgba(17, 24, 39, 0.18);
    transition: transform .2s, box-shadow .2s, opacity .2s;
    white-space: nowrap;
}

.clinic-login-form button {
    width: 100%;
    min-height: 52px;
}

.clinic-login-form button:hover,
.inline-clinic-row button:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(17, 24, 39, 0.22);
    opacity: .96;
}

.clinic-login-footnote,
.clinic-access-helper {
    margin-top: 15px;
    color: #7b8492;
    font-size: 13px;
    line-height: 1.45;
}

.clinic-login-footnote {
    text-align: center;
}

.clinic-session-badge {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-size: 13px;
    color: #0f172a;
    margin-left: 20px;
    line-height: 1.2;
}

.clinic-session-badge span {
    font-weight: 700;
}

.clinic-session-badge small {
    color: #64748b;
}

/* Inline clinic gate on homepage */
.inline-clinic-login,
.clinic-login-success {
    position: relative;
    overflow: hidden;
    margin-top: 30px;
    padding: 28px;
    border: 1px solid #e0e8e0;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,251,248,.98));
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
    max-width: 600px;
}

.inline-clinic-login::before,
.clinic-login-success::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #6b8f6d, #111827);
}

.inline-clinic-login h2 {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.15;
    color: #111827;
    letter-spacing: -0.02em;
}

.inline-clinic-login p {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.55;
    color: #596273;
}

.inline-clinic-row {
    display: flex;
    gap: 12px;
    align-items: stretch;
}

.inline-clinic-row input {
    flex: 1;
    min-width: 0;
    height: 54px;
}

.inline-clinic-row button {
    min-height: 54px;
}

.clinic-login-success {
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
    border-color: #bbf7d0;
    color: #166534;
    font-weight: 600;
}

.clinic-login-success a {
    color: #166534;
    font-weight: 800;
}

.clinic-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #374151;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 800px) {
    .clinic-session-badge {
        width: 100%;
        align-items: flex-start;
        margin-left: 0;
        margin-top: 10px;
    }
}

@media (max-width: 640px) {
    .clinic-login-body {
        padding: 18px;
    }

    .clinic-login-card,
    .inline-clinic-login,
    .clinic-login-success {
        padding: 26px 22px;
        border-radius: 20px;
    }

    .clinic-login-card h1,
    .inline-clinic-login h2 {
        font-size: 28px;
    }

    .inline-clinic-row {
        flex-direction: column;
    }

    .inline-clinic-row button {
        width: 100%;
    }
}

.clinic-reactivation-link {
    margin-top: 14px;
    font-size: 14px;
}

.clinic-reactivation-link a,
.secondary-action-link,
.reactivation-back-link {
    color: #111827;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.account-reactivation-page {
    min-height: 62vh;
}

.account-reactivation-card p {
    margin: 0 0 18px;
    color: #596273;
    line-height: 1.55;
}

.reactivation-summary {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px 18px;
    margin: 0 0 20px;
    line-height: 1.6;
    color: #374151;
}

.account-reactivation-card .secondary-action-link {
    display: inline-flex;
    align-items: center;
    margin-left: 16px;
    min-height: 54px;
}

@media (max-width: 640px) {
    .account-reactivation-card .secondary-action-link {
        margin-left: 0;
        margin-top: 12px;
        min-height: auto;
    }
}

/* Account reactivation refinements */
.account-reactivation-card {
    max-width: 760px;
    text-align: center;
}

.account-reactivation-card .clinic-login-error,
.account-reactivation-card .clinic-login-notice {
    text-align: left;
}

.reactivation-summary {
    max-width: 520px;
    margin: 22px auto 26px;
    padding: 22px 24px;
    background: #f8faf7;
    border: 1px solid #dcebdd;
    border-radius: 18px;
    color: #1f2937;
    text-align: left;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.reactivation-summary strong {
    display: block;
    margin-bottom: 8px;
    color: #111827;
    font-size: 18px;
}

.reactivation-summary span {
    display: block;
    margin-top: 4px;
}

.reactiavation-actions,
.reactivate-actions {
    margin-top: 28px;
    text-align: center;
}

.reactivate-actions form {
    margin: 0;
}

.btn-reactivate,
.reactivate-actions .btn-reactivate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 30px;
    background: #3f6f5f;
    color: #fff !important;
    border: 0;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(63, 111, 95, 0.22);
}

.btn-reactivate:hover,
.reactivate-actions .btn-reactivate:hover {
    background: #335b4e;
}

.button-link-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 8px 10px;
    background: transparent;
    border: 0;
    color: #3f6f5f;
    font-size: 15px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
}

.reactivation-form-stack {
    max-width: 520px;
    margin: 0 auto;
    text-align: left;
}

.reactivation-form-stack label {
    display: block;
    margin: 14px 0 8px;
    color: #1f2937;
    font-weight: 800;
}

.reactivation-form-stack input[type="email"] {
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    font-size: 16px;
}

.reactivation-form-stack .reactivate-actions {
    text-align: center;
}

.account-reactivation-card .secondary-action-link {
    margin-left: 0;
}

/* Reactivation page polish - June 2026 */
.account-reactivation-page {
    padding: 70px 5% 90px;
    background: #fff;
}

.account-reactivation-card {
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 0 16px;
    text-align: center;
}

.account-reactivation-card h1 {
    max-width: 820px;
    margin: 10px auto 12px;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.08;
}

.reactivation-intro,
.account-reactivation-card > p {
    max-width: 680px;
    margin: 0 auto 20px;
    color: #4f5b72;
    font-size: 18px;
    line-height: 1.55;
}

.reactivation-summary {
    width: min(540px, 100%);
    margin: 24px auto 26px;
    padding: 26px 28px;
    background: #f8faf7;
    border: 1px solid #dcebdd;
    border-radius: 22px;
    color: #1f2937;
    text-align: center;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.reactivation-summary-compact {
    width: min(460px, 100%);
}

.reactivation-summary strong {
    display: block;
    margin-bottom: 10px;
    color: #0b1220;
    font-size: 22px;
    line-height: 1.2;
}

.reactivation-summary span {
    display: block;
    margin-top: 5px;
    font-size: 16px;
}

.reactivation-email-list {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #dcebdd;
}

.reactivation-detail-label {
    margin-bottom: 7px;
    color: #4f5b72;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px !important;
}

.reactivate-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
    margin-top: 28px;
}

.reactivation-action-form {
    margin: 0;
}

.btn-reactivate,
.reactivate-actions .btn-reactivate,
.inline-clinic-row button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 34px;
    background: #3f6f5f;
    color: #fff !important;
    border: 0;
    border-radius: 999px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(63, 111, 95, 0.24);
    appearance: none;
}

.btn-reactivate:hover,
.reactivate-actions .btn-reactivate:hover,
.inline-clinic-row button:hover {
    background: #335b4e;
}

.button-link-secondary,
a.button-link-secondary,
button.button-link-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    color: #3f6f5f !important;
    font-size: 15px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
}

.reactivation-form-stack {
    width: min(520px, 100%);
    margin: 0 auto;
    text-align: left;
}

.reactivation-field {
    margin-bottom: 18px;
}

.reactivation-form-stack label {
    display: block;
    margin: 0 0 8px;
    color: #1f2937;
    font-size: 15px;
    font-weight: 800;
}

.reactivation-form-stack input[type="email"] {
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid #d1d5db;
    border-radius: 14px;
    background: #fff;
    font-size: 16px;
}

.reactivation-form-stack input[type="email"]:focus {
    outline: 2px solid rgba(63, 111, 95, 0.22);
    border-color: #3f6f5f;
}

@media (max-width: 640px) {
    .account-reactivation-page {
        padding-top: 44px;
    }

    .reactivation-summary {
        padding: 22px 20px;
    }

    .btn-reactivate,
    .reactivate-actions .btn-reactivate {
        width: 100%;
        max-width: 340px;
    }
}


/* Catalog removable insole filter */
.catalog-filter-bar {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: -38px 0 36px;
}

.catalog-filter-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: .2s;
}

.catalog-filter-link:hover,
.catalog-filter-link.active {
    background: #111;
    border-color: #111;
    color: #fff;
}

@media (max-width: 640px) {
    .catalog-filter-bar {
        margin: -28px 0 28px;
    }

    .catalog-filter-link {
        width: 100%;
        max-width: 280px;
    }
}

/* Catalog product title / brand search */
.catalog-search-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: -18px auto 22px;
    max-width: 760px;
    padding: 0 18px;
}

.catalog-search-form input[type="search"] {
    width: min(100%, 420px);
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: #fff;
    font-size: 15px;
}

.catalog-search-form input[type="search"]:focus {
    outline: 2px solid rgba(17, 17, 17, 0.12);
    border-color: #111;
}

.catalog-search-form button,
.catalog-search-clear {
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.catalog-search-form button {
    border: 1px solid #111;
    background: #111;
    color: #fff;
    cursor: pointer;
}

.catalog-search-clear {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d6d6d6;
    background: #fff;
    color: #333;
}

.catalog-search-form + .catalog-filter-bar {
    margin-top: 0;
}

@media (max-width: 640px) {
    .catalog-search-form {
        margin: -12px auto 18px;
    }

    .catalog-search-form input[type="search"],
    .catalog-search-form button,
    .catalog-search-clear {
        width: 100%;
        max-width: 320px;
    }

    .catalog-search-clear {
        justify-content: center;
    }
}

/* Header global catalog search */
.header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
}

.header-main-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.site-search-form {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.site-search-form input[type="search"] {
    width: min(100%, 380px);
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: #fff;
    font-size: 14px;
}

.site-search-form input[type="search"]:focus {
    outline: 2px solid rgba(17, 17, 17, 0.12);
    border-color: #111;
}

.site-search-form button {
    min-height: 42px;
    padding: 9px 17px;
    border: 1px solid #111;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.search-results-summary {
    text-align: center;
    color: #666;
    margin: -34px 0 36px;
    line-height: 1.5;
}

@media(max-width:800px){
    .header-main-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .navigation {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
    }

    .site-search-form {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media(max-width:600px){
    .site-search-form input[type="search"],
    .site-search-form button {
        width: 100%;
    }
}

/* Breadcrumbs */
.breadcrumbs {
    max-width: 1200px;
    margin: 20px auto 0;
    padding: 0 20px;
    font-size: 14px;
    color: #666;
}
.breadcrumbs a {
    color: #333;
    text-decoration: none;
    font-weight: 600;
}
.breadcrumbs a:hover {
    text-decoration: underline;
}
.breadcrumb-separator {
    margin: 0 8px;
    color: #999;
}

/* Catalog brand / colour filters */
.catalog-filters {
    max-width: 1200px;
    margin: 0 auto 28px;
    padding: 16px 20px;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 14px;
}
.catalog-filters label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
}
.catalog-filters select {
    min-width: 190px;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}
.catalog-filters button,
.catalog-clear-filters {
    padding: 10px 16px;
    border-radius: 8px;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
}
.catalog-clear-filters {
    background: #fff;
    color: #111;
}

/* Footmaxx username/password login on the homepage */
.inline-footmaxx-login-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.inline-login-field {
    min-width: 0;
}

.inline-login-field label {
    display: block;
    margin-bottom: 8px;
}

.inline-login-field input {
    width: 100%;
    height: 54px;
    box-sizing: border-box;
}

.inline-footmaxx-login-form button {
    min-height: 54px;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .inline-footmaxx-login-form {
        grid-template-columns: 1fr;
    }

    .inline-footmaxx-login-form button {
        width: 100%;
    }
}

/* Slip Resistant storefront */
.slip-header{border-top:5px solid #8f1d2c}.slip-logo img{max-height:74px;width:auto}.advanced-form{display:inline;margin:0}.advanced-btn{border:1px solid #777;background:#fff;padding:9px 14px;border-radius:999px;font-weight:700;cursor:pointer}.advanced-btn.active{background:#222;color:#fff}.slip-home{padding:70px 24px;background:#f5f5f5;min-height:65vh}.slip-home-inner{max-width:1050px;margin:auto;text-align:center}.slip-home-logo{max-width:420px;width:85%;margin-bottom:24px}.slip-home h1{font-size:clamp(32px,5vw,54px);margin:0 0 12px}.slip-home-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:35px}.slip-home-actions a{background:#8f1d2c;color:#fff;padding:17px 28px;border-radius:8px;text-decoration:none;font-weight:800}.slip-card{position:relative;border:1px solid #e4e4e4;border-radius:14px;overflow:hidden;background:#fff}.slip-card .product-card{border:0;border-radius:0}.favorite-form{padding:0 18px 18px}.favorite-btn{border:1px solid #8f1d2c;background:#fff;color:#8f1d2c;border-radius:7px;padding:10px 14px;font-weight:800;cursor:pointer}.favorite-btn.active{background:#8f1d2c;color:#fff}.gender-badge{display:inline-block;background:#222;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:4px;margin-bottom:8px}.slip-product-page{max-width:1200px;margin:45px auto;padding:0 24px}.slip-product-top{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:45px;align-items:center;margin-bottom:45px}.slip-product-photo{background:#f5f5f5;border-radius:16px;padding:20px}.slip-product-photo img{width:100%;height:340px;object-fit:contain}.slip-product-top h1{font-size:40px;margin:7px 0 12px}.size-order-block{margin:25px 0}.size-order-block h3{margin-bottom:12px}.size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:10px}.size-cell{border:1px solid #d9d9d9;border-radius:10px;padding:13px;text-align:center;background:#fff}.size-cell.sold-out{opacity:.45;background:#eee}.size-label{font-weight:900;font-size:17px}.inventory-label{font-size:12px;color:#666;margin:6px 0}.inventory-label strong{display:block;font-size:20px;color:#222}.slip-price{font-weight:900;margin:7px 0;color:#8f1d2c}.size-cell input{width:70px;text-align:center;padding:9px;border:1px solid #aaa;border-radius:6px;font-size:16px}.size-order-form .add-to-cart-btn{background:#8f1d2c;border-radius:8px}.site-search-form{max-width:700px;margin:12px auto 0}.site-search-form input{width:calc(100% - 110px);padding:12px;border:1px solid #bbb;border-radius:7px 0 0 7px}.site-search-form button{width:105px;padding:12px;border:0;background:#8f1d2c;color:#fff;font-weight:800;border-radius:0 7px 7px 0}@media(max-width:700px){.slip-product-top{grid-template-columns:1fr}.slip-product-photo img{height:250px}.slip-product-top h1{font-size:30px}.navigation{gap:10px}.clinic-badge{display:none}}
.shipping-box{margin:18px 0}.shipping-box h3{margin-bottom:12px}.shipping-choice{display:block;font-weight:800;margin:13px 0}.saved-address{padding:12px;border:1px solid rgba(255,255,255,.25);border-radius:9px;line-height:1.5;background:rgba(255,255,255,.08)}

/* Slip Resistant revisions - 2026-09-28 */
.slip-home .inline-clinic-login {
    margin: 30px auto 0;
}

/* Product cards are not themselves an action; keep them visually stable on hover. */
.slip-card .product-card:hover {
    transform: none;
    box-shadow: none;
}

.size-order-form .add-to-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 18px;
    padding: 14px 24px;
    border: 0;
    border-radius: 9px;
    background: #8f1d2c;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(0,0,0,.14);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.size-order-form .add-to-cart-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.size-order-form .add-to-cart-btn:active {
    transform: translateY(0);
}

/* Slip Resistant cart thumbnails */
.cart-page .cart-thumb {
    width: 140px;
    min-width: 140px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: 10px;
}
.cart-page .cart-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 140px;
    max-height: 120px;
    object-fit: contain;
}
.cart-page .cart-item {
    display: grid;
    grid-template-columns: 140px minmax(0,1fr) auto;
    gap: 20px;
    align-items: center;
}
@media (max-width: 700px) {
    .cart-page .cart-item {
        grid-template-columns: 90px minmax(0,1fr);
    }
    .cart-page .cart-thumb {
        width: 90px;
        min-width: 90px;
        height: 90px;
    }
    .cart-page .cart-thumb img {
        max-width: 90px;
        max-height: 90px;
    }
}

/* Slip Resistant cart / checkout layout - 2026-09-28 */
.cart-page {
    max-width: 1180px;
    margin: 38px auto 70px;
    padding: 0 24px;
}
.cart-header {
    margin-bottom: 24px;
}
.cart-header h1 {
    margin: 0 0 6px;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.1;
}
.cart-header p {
    margin: 0;
    color: #555;
}
.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, .85fr);
    gap: 30px;
    align-items: start;
}
.cart-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.cart-page .cart-item {
    padding: 18px;
    border: 1px solid #e1e1e1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0,0,0,.05);
}
.cart-item-title {
    margin-bottom: 9px;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.2;
}
.cart-item-title a {
    color: #161616;
    text-decoration: none;
}
.cart-item-title a:hover {
    color: #8f1d2c;
    text-decoration: underline;
}
.cart-item-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 18px;
    color: #444;
    font-size: 14px;
    line-height: 1.35;
}
.cart-item-price {
    min-width: 105px;
    text-align: right;
    color: #8f1d2c;
    font-size: 20px;
    font-weight: 900;
}
.cart-item-price small {
    display: block;
    margin-top: 3px;
    color: #777;
    font-size: 12px;
    font-weight: 500;
}
.cart-summary {
    position: sticky;
    top: 24px;
    padding: 24px;
    border: 1px solid #dedede;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(0,0,0,.07);
}
.cart-summary > h2 {
    margin: 0 0 18px;
    font-size: 28px;
}
.summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid #e5e5e5;
}
.summary-total {
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 900;
}
.shipping-box {
    margin: 0 0 20px;
    padding: 18px;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    background: #f7f7f7;
}
.shipping-box h3 {
    margin: 0 0 14px;
    font-size: 19px;
}
.shipping-choice {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 14px 0 10px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
}
.shipping-choice input {
    margin-top: 2px;
    accent-color: #8f1d2c;
}
.saved-address {
    margin: 0 0 18px 25px;
    padding: 13px 14px;
    border: 1px solid #ddd;
    border-radius: 9px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}
#custom-shipping {
    margin: 12px 0 18px 25px;
    padding-top: 4px;
}
.cart-summary .patient-field {
    margin-bottom: 13px;
}
.cart-summary .patient-field label {
    display: block;
    margin-bottom: 6px;
    color: #333;
    font-size: 13px;
    font-weight: 800;
}
.cart-summary .patient-field input,
.cart-summary .patient-field textarea {
    display: block;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #c9c9c9;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    box-sizing: border-box;
}
.cart-summary .patient-field textarea {
    min-height: 95px;
    resize: vertical;
}
.cart-summary .patient-field input:focus,
.cart-summary .patient-field textarea:focus {
    outline: 2px solid rgba(143,29,44,.18);
    border-color: #8f1d2c;
}
.checkout-btn,
.continue-btn,
.clear-cart-btn {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 9px;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}
.checkout-btn {
    margin-top: 6px;
    border: 0;
    background: #8f1d2c;
    color: #fff;
    cursor: pointer;
}
.checkout-btn:hover { background: #761724; }
.continue-btn {
    margin-top: 12px;
    border: 1px solid #222;
    background: #fff;
    color: #222;
}
.clear-cart-btn {
    margin-top: 9px;
    min-height: 40px;
    border: 0;
    color: #8f1d2c;
    font-size: 13px;
}
.empty-cart {
    padding: 45px 30px;
    border: 1px solid #e1e1e1;
    border-radius: 14px;
    background: #fff;
    text-align: center;
}
.empty-cart a {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 20px;
    border-radius: 8px;
    background: #8f1d2c;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}
@media (max-width: 900px) {
    .cart-layout { grid-template-columns: 1fr; }
    .cart-summary { position: static; }
}
@media (max-width: 700px) {
    .cart-page { margin-top: 24px; padding: 0 15px; }
    .cart-page .cart-item { gap: 14px; padding: 14px; }
    .cart-item-meta { grid-template-columns: 1fr; }
    .cart-item-price {
        grid-column: 2;
        min-width: 0;
        text-align: left;
    }
    .cart-summary { padding: 18px; }
    #custom-shipping, .saved-address { margin-left: 0; }
}


/* Slip Resistant cart quantity editing */
.cart-qty-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.cart-qty-form,.cart-remove-form{display:flex;align-items:center;gap:8px;margin:0}
.cart-qty-input{width:72px;padding:9px 8px;border:1px solid #b8bec7;border-radius:8px;background:#fff;font:inherit;text-align:center}
.cart-update-btn,.cart-remove-btn{border:0;border-radius:8px;padding:9px 14px;font-weight:700;cursor:pointer;font:inherit}
.cart-update-btn{background:#981b2d;color:#fff}
.cart-update-btn:hover{background:#7e1525}
.cart-remove-btn{background:#fff;color:#981b2d;border:1px solid #981b2d}
.cart-remove-btn:hover{background:#fff2f4}
.cart-stock-note{width:100%;color:#667085;font-size:.82rem}
.cart-notice{max-width:1180px;margin:0 auto 18px;padding:12px 16px;border-radius:10px;font-weight:700}
.cart-notice-success{background:#edf8f0;border:1px solid #b8dec2;color:#275d35}
.cart-notice-error{background:#fff1f2;border:1px solid #efc0c5;color:#8a1c2d}
@media(max-width:640px){.cart-qty-editor{align-items:flex-start}.cart-qty-form{flex-wrap:wrap}.cart-stock-note{margin-top:-2px}}

/* Slip Resistant bulk ordering rows - 2026-09-29 */
.slip-order-list{max-width:1400px;margin:0 auto;padding:0 24px 45px;display:flex;flex-direction:column;gap:20px}
.slip-order-row{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;padding:22px;background:#fff;border:1px solid #e2e2e2;border-radius:14px;align-items:start}
.slip-order-product{display:flex;flex-direction:column;gap:14px}
.slip-order-thumb{display:flex;align-items:center;justify-content:center;height:180px;background:#f7f7f7;border-radius:10px;padding:10px;text-decoration:none}
.slip-order-thumb img{width:100%;height:100%;object-fit:contain}
.slip-order-meta h2{font-size:21px;line-height:1.2;margin:5px 0 8px}
.slip-order-meta h2 a{color:inherit;text-decoration:none}
.slip-order-meta h2 a:hover{text-decoration:underline}
.slip-order-meta .factory-name{margin-bottom:12px}
.slip-row-favourite{padding:0;margin-top:14px}
.slip-row-favourite .favorite-btn{width:100%}
.slip-row-order .size-order-block{margin:0 0 18px}
.slip-row-order .size-grid{grid-template-columns:repeat(auto-fit,minmax(95px,1fr))}
.slip-row-order .add-to-cart-btn{margin-top:2px}
@media(max-width:900px){.slip-order-row{grid-template-columns:1fr}.slip-order-product{display:grid;grid-template-columns:180px 1fr}.slip-order-thumb{height:150px}}
@media(max-width:600px){.slip-order-list{padding-left:14px;padding-right:14px}.slip-order-row{padding:15px}.slip-order-product{grid-template-columns:1fr}.slip-order-thumb{height:200px}}

/* Keep bulk-order size cards vertically aligned - 2026-09-29 */
.slip-row-order .size-cell{display:flex;flex-direction:column;align-items:center;box-sizing:border-box}
.slip-row-order .size-label{white-space:nowrap;min-height:26px;display:flex;align-items:center;justify-content:center}
.slip-row-order .inventory-label{min-height:48px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.slip-row-order .slip-price{min-height:24px;width:100%;display:flex;align-items:center;justify-content:center}
.slip-row-order .size-cell input{margin-top:0}
