/*
 * Kangal Puppy Reservations – front-end styles
 * v1.1.0 – styling aligned with the Bryllantowy Zakątek website / Divi 5
 */
.kpr-wrap{
    --kpr-heading:#28233f;
    --kpr-text:#606079;
    --kpr-label:#343247;
    --kpr-muted:#7a798d;
    --kpr-border:#dedde4;
    --kpr-field-bg:#ffffff;
    --kpr-page-bg:#f7f7f6;
    max-width:1040px;
    margin:0 auto;
    color:var(--kpr-text);
    font-family:inherit;
    font-size:16px;
    line-height:1.75;
}

/* The form intentionally has no card-like frame so it blends into the Divi section. */
.kpr-form{
    background:transparent;
    border:0;
    border-radius:0;
    padding:0;
    box-shadow:none;
}

.kpr-section{
    position:relative;
    padding:34px 0 38px;
    margin:0;
    border-bottom:1px solid var(--kpr-border);
}
.kpr-section:first-of-type{padding-top:0}
.kpr-section:last-of-type{
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:25px;
}

.kpr-section h3{
    margin:0 0 25px;
    padding-top:0;
    color:var(--kpr-heading);
    font-family:"Libre Bodoni",Georgia,"Times New Roman",serif;
    font-size:32px;
    line-height:1.18;
    font-weight:500;
    letter-spacing:-.025em;
}

.kpr-note{
    max-width:760px;
    margin:-12px 0 24px;
    color:var(--kpr-muted);
    font-size:15px;
    line-height:1.75;
}

.kpr-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 24px;
}
.kpr-span-2{grid-column:span 2}

.kpr-field label{
    display:block;
    margin:0 0 8px;
    color:var(--kpr-label);
    font-size:15px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:.005em;
}
.kpr-field label span,.kpr-check b{color:var(--kpr-accent,#e2a15b)}

.kpr-field input,
.kpr-field select,
.kpr-field textarea{
    box-sizing:border-box;
    width:100%;
    margin:0;
    border:1px solid var(--kpr-border);
    border-radius:2px;
    background:var(--kpr-field-bg);
    color:var(--kpr-heading);
    padding:14px 16px;
    font:inherit;
    font-size:15px;
    line-height:1.5;
    box-shadow:none;
    transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.kpr-field input,.kpr-field select{min-height:54px}
.kpr-field textarea{
    min-height:110px;
    resize:vertical;
}
.kpr-field input::placeholder,.kpr-field textarea::placeholder{color:#9a99a8;opacity:1}
.kpr-field input:hover,.kpr-field select:hover,.kpr-field textarea:hover{border-color:#c9c7d0}
.kpr-field input:focus,.kpr-field select:focus,.kpr-field textarea:focus{
    outline:0;
    border-color:var(--kpr-accent,#e2a15b);
    box-shadow:0 0 0 2px rgba(226,161,91,.13);
    background:#fff;
}

.kpr-consents{
    display:grid;
    gap:13px;
    padding-top:30px;
}
.kpr-check{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin:0;
    color:var(--kpr-text);
    font-size:14px;
    line-height:1.65;
    font-weight:400;
    cursor:pointer;
}
.kpr-check input{
    width:17px;
    height:17px;
    margin:4px 0 0;
    flex:0 0 17px;
    accent-color:var(--kpr-accent,#e2a15b);
}
.kpr-check a{
    color:var(--kpr-heading);
    text-decoration:underline;
    text-decoration-color:var(--kpr-accent,#e2a15b);
    text-underline-offset:3px;
}
.kpr-check a:hover{color:var(--kpr-accent,#e2a15b)}

.kpr-submit{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    margin:0;
    border:2px solid #234d3a;
    border-radius:999px;
    background:#234d3a;
    color:#fff;
    padding:14px 30px 15px;
    font-family:inherit;
    font-size:18px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:0;
    cursor:pointer;
    box-shadow:none;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.kpr-submit:hover,
.kpr-submit:focus{
    border-color:#183b2b;
    background:#183b2b;
    color:#fff;
    transform:translateY(-1px);
}
.kpr-submit:focus-visible{outline:2px solid #234d3a;outline-offset:3px}

.kpr-small{
    max-width:820px;
    margin:16px 0 0;
    color:var(--kpr-muted);
    font-size:12.5px;
    line-height:1.65;
}

.kpr-alert{
    margin:0 0 28px;
    padding:17px 19px;
    border-radius:2px;
    font-size:14px;
    line-height:1.6;
}
.kpr-success{background:#f2f7f2;border:1px solid #bfd4bf;color:#315b35}
.kpr-error{background:#fbf3f1;border:1px solid #e2c2ba;color:#873c2d}
.kpr-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Planned litters – same visual language as the form. */
.kpr-litters{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.kpr-litter-card{
    position:relative;
    border:1px solid var(--kpr-border,#dedde4);
    border-radius:2px;
    padding:28px;
    background:rgba(255,255,255,.58);
    color:var(--kpr-text,#606079);
    box-shadow:none;
}
.kpr-litter-card h3{
    margin:14px 0 16px;
    color:var(--kpr-heading,#28233f);
    font-family:"Libre Bodoni",Georgia,"Times New Roman",serif;
    font-size:28px;
    line-height:1.2;
    font-weight:500;
    letter-spacing:-.02em;
}
.kpr-litter-badge{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.kpr-open{background:#eef5ee;color:#3e6842}
.kpr-limited{background:#fbf4e9;color:#8b5c20}
.kpr-closed{background:#efeff2;color:#666476}
.kpr-litter-date,.kpr-litter-parents{margin:7px 0;font-size:14px}
.kpr-litter-date strong,.kpr-litter-parents strong{color:var(--kpr-label,#343247)}
.kpr-litter-desc{margin-top:16px;font-size:14px;line-height:1.7}
.kpr-litters-empty{
    padding:20px 0;
    border-top:1px solid var(--kpr-border,#dedde4);
    border-bottom:1px solid var(--kpr-border,#dedde4);
    color:var(--kpr-text,#606079);
}

@media(max-width:767px){
    .kpr-wrap{font-size:15px}
    .kpr-section{padding:28px 0 31px}
    .kpr-section:first-of-type{padding-top:0}
    .kpr-section h3{font-size:27px;margin-bottom:21px}
    .kpr-grid,.kpr-litters{grid-template-columns:1fr;gap:18px}
    .kpr-span-2{grid-column:auto}
    .kpr-field input,.kpr-field select{min-height:52px}
    .kpr-submit{width:100%;font-size:17px;padding-left:24px;padding-right:24px}
    .kpr-litter-card{padding:22px}
    .kpr-litter-card h3{font-size:25px}
    .kpr-submit{width:100%}
}
