.isc-widget{
    --isc-bg: #F1E6B2;
    --isc-panel: #ffffff;
    --isc-panel-hover: #f3ede0;
    --isc-border: #ded4bf;
    --isc-border-active: #b8863a;
    --isc-gold: #c2903c;
    --isc-bordeaux: #862041;
    --isc-gold-dim: #e6cd9c;
    --isc-text: var(--isc-bordeaux);
    --isc-text-muted: #6b6353;
    --isc-text-faint: #a89d87;
    --isc-green: #3f9d64;
    --isc-radius: 3px;

    box-sizing: border-box;
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    background: var(--isc-bg);
    color: var(--isc-text);
    font-family: "Neue Haas Grotesk Display Pro";
    padding: 48px 20px;
}

.isc-widget *{ box-sizing: border-box; }

.isc-eyebrow{
    font-family: "Neue Haas Grotesk Display Pro";
    font-size: 11px;
    color: var(--isc-gold);
    font-weight: 600;
    margin-bottom: 18px;
}

.isc-title{
    font-family: "PP Editorial New";
    font-size: 40px;
    line-height: 1.08;
    font-weight: 700;
    margin: 0 0 18px;
    letter-spacing: -0.01em;
    color: var(--isc-text);
}

.isc-desc{
    color: var(--isc-text-muted);
    font-size: 14.5px;
    line-height: 1.6;
    max-width: 460px;
    margin: 0 0 36px;
}

.isc-field-label{
    font-size: 11px;
    color: var(--isc-text);
    font-weight: 600;
    margin-bottom: 12px;
    display:block;
}

.isc-slots{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}

.isc-slot{
    position: relative;
    background: var(--isc-panel);
    border: 1px solid var(--isc-border);
    border-radius: var(--isc-radius);
    padding: 18px 18px 20px;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(33, 28, 20, 0.04);
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.isc-slot:hover{ background: var(--isc-panel-hover); }

.isc-slot__input{
    position:absolute;
    opacity:0;
    width:0; height:0;
}

.isc-slot__time{
    font-size: 12px;
    color: var(--isc-text-faint);
    margin-bottom: 10px;
}

.isc-slot__name{
    font-family: "Neue Haas Grotesk Display Pro";
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.01em;
    margin-bottom: 12px;
}

.isc-slot__avail{
    font-size: 11.5px;
    color: var(--isc-text-muted);
    display:flex;
    align-items:center;
    gap: 7px;
}

.isc-slot__avail::before{
    content:'';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--isc-green);
    flex-shrink:0;
}

.isc-slot__radio{
    position:absolute;
    top: 16px; right: 16px;
    width: 20px; height: 20px;
    border-radius: 50%;
    border: 1px solid var(--isc-text-faint);
    display:flex;
    align-items:center;
    justify-content:center;
    transition: border-color .15s ease, background .15s ease;
}

.isc-slot__radio::after{
    content:'';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--isc-bg);
    opacity: 0;
    transition: opacity .15s ease;
}

.isc-slot--disabled{
    opacity: .4;
    cursor: not-allowed;
}

.isc-slot__input:checked ~ .isc-slot__radio,
.isc-slot--selected .isc-slot__radio{
    background: var(--isc-bordeaux);
    border-color: var(--isc-bordeaux);
}

.isc-slot__input:checked ~ .isc-slot__radio::after,
.isc-slot--selected .isc-slot__radio::after{
    opacity: 1;
}

.isc-slot--selected{
    border-color: var(--isc-bordeaux);
    background: var(--isc-panel-hover);
    box-shadow: 0 2px 6px rgba(184, 134, 58, 0.15);
}

.isc-slot:focus-within{
    outline: 2px solid var(--isc-bordeaux);
    outline-offset: 2px;
}

.isc-row{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 26px;
}

.isc-field{ margin-bottom: 26px; }

.isc-input{
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--isc-border);
    color: var(--isc-text);
    font-family: "Neue Haas Grotesk Display Pro";
    font-size: 15px;
    padding: 4px 0 10px;
    outline: none;
    transition: border-color .15s ease;
}

.isc-input::placeholder{ color: var(--isc-text-faint); font-family: "Neue Haas Grotesk Display Pro"; font-size: 13px; }

.isc-input:focus{ border-color: var(--isc-bordeaux); }

.isc-input--error{ border-color: #c15656; }

.isc-error-msg{
    font-size: 11px;
    color: #c15656;
    margin-top: 6px;
    min-height: 14px;
}

.isc-consent{
    display:flex;
    align-items:flex-start;
    gap: 12px;
    margin-bottom: 32px;
}

.isc-consent__checkbox{
    margin-top: 3px;
    width: 15px; height: 15px;
    accent-color: var(--isc-gold);
    flex-shrink:0;
    cursor:pointer;
}

.isc-consent__label{
    font-size: 13px;
    line-height: 1.6;
    color: var(--isc-text);
}

.isc-consent__label a{ color: var(--isc-text); text-decoration: underline; }

.isc-submit{
    width:100%;
    background: var(--isc-gold);
    color: #1c1509;
    border: none;
    border-radius: var(--isc-radius);
    padding: 16px;
    font-family: "Neue Haas Grotesk Display Pro";
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: filter .15s ease, transform .1s ease;
}

.isc-submit:hover{ filter: brightness(1.08); }
.isc-submit:active{ transform: translateY(1px); }
.isc-submit:disabled{ opacity:.5; cursor:not-allowed; filter:none; }

.isc-footnote{
    text-align:center;
    font-size: 10.5px;
    letter-spacing: 0.1em;
    color: var(--isc-text);
    margin-top: 20px;
}

.isc-success{
    display:none;
    text-align:center;
    padding: 40px 0;
}

.isc-success--show{ display:block; }
.isc-form-wrap--hide{ display:none; }

.isc-success__check{
    width: 52px; height: 52px;
    border-radius: 50%;
    background: var(--isc-green);
    color: var(--isc-bg);
    display:flex;
    align-items:center;
    justify-content:center;
    margin: 0 auto 20px;
    font-size: 24px;
}

.isc-success__title{
    font-family:'Space Grotesk', sans-serif;
    font-size: 22px;
    margin: 0 0 8px;
    color: var(--isc-text);
}

.isc-success__text{ color: var(--isc-text-muted); font-size: 13.5px; }

@media (max-width: 480px){
    .isc-title{ font-size: 30px; }
    .isc-slots{ grid-template-columns: 1fr; }
    .isc-row{ grid-template-columns: 1fr; gap: 20px; }
}

.button-primary:hover{
    background: var(--isc-bordeaux);
    color: white!important;
}