/* Theme compatibility stays inside the Sunny shortcode. Component rules retain
   their own colours, sizes and states; no site header, footer or checkout reset. */
body .sunny-shop[data-sunny-shop]{
    font-family:Arial,Helvetica,sans-serif;
    font-weight:400;
    line-height:1.55;
    color:var(--ss-ink,#263a39);
    text-align:left;
    text-transform:none;
    letter-spacing:normal;
    white-space:normal;
}
body .sunny-shop[data-sunny-shop] :where(h1,h2,h3){
    color:inherit;
    font-family:inherit;
    text-transform:none;
    letter-spacing:normal;
}
body .sunny-shop[data-sunny-shop] :where(label,legend){
    color:var(--ss-ink,#263a39);
    font-family:Arial,Helvetica,sans-serif;
    font-weight:400;
    line-height:1.55;
    text-transform:none;
    letter-spacing:normal;
    white-space:normal;
    margin:0;
}
body .sunny-shop[data-sunny-shop] label{max-width:100%;min-width:0}
body .sunny-shop[data-sunny-shop] .ss-control-label{display:block;width:100%}
body .sunny-shop[data-sunny-shop] legend{padding:0;float:none}
body .sunny-shop[data-sunny-shop] button{
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.55;
    text-transform:none;
    letter-spacing:normal;
    white-space:normal;
    color:var(--ss-ink,#263a39);
    background:transparent;
    border:0;
    padding:0;
    margin:0;
    min-height:0;
    height:auto;
    width:auto;
    max-width:100%;
    box-shadow:none;
    text-shadow:none;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
/* The actual Elementor Kit uses two :not([type]) selectors on inputs. Match
   that specificity only for text fields, without enlarging radios/checkboxes. */
body .sunny-shop[data-sunny-shop] input:is([type=text],[type=number],[type=search]),
body .sunny-shop[data-sunny-shop] select{
    color:var(--ss-ink,#263a39);
    -webkit-text-fill-color:var(--ss-ink,#263a39);
    background-color:#fff;
    background-image:none;
    border:1px solid var(--ss-line,#dfe2da);
    border-radius:7px;
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.55;
    text-transform:none;
    letter-spacing:normal;
    white-space:normal;
    box-shadow:none;
    text-shadow:none;
    opacity:1;
    max-width:100%;
}
body .sunny-shop[data-sunny-shop] input::placeholder{
    color:#6c7671;
    -webkit-text-fill-color:#6c7671;
    opacity:1;
    text-transform:none;
    letter-spacing:normal;
}
body .sunny-shop[data-sunny-shop] select{
    appearance:auto;
    -webkit-appearance:menulist;
    text-overflow:ellipsis;
}
body .sunny-shop[data-sunny-shop] :where(option,optgroup){
    color:#263a39;
    -webkit-text-fill-color:#263a39;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
    text-transform:none;
    letter-spacing:normal;
}
body .sunny-shop[data-sunny-shop] input:is([type=checkbox],[type=radio]){
    appearance:auto;
    -webkit-appearance:auto;
    accent-color:var(--ss-accent,#ac5330);
    color:var(--ss-ink,#263a39);
    background:transparent;
    border:0;
    border-radius:0;
    padding:0;
    margin:0;
    min-height:0;
    width:18px;
    height:18px;
    box-shadow:none;
}
body .sunny-shop[data-sunny-shop] :where(input,select):focus{
    border-color:#879385;
}
body .sunny-shop[data-sunny-shop] :where(button,a,input,select):focus-visible{
    outline:3px solid #ae613c;
    outline-offset:3px;
}
body .sunny-shop[data-sunny-shop] :where(figure,figcaption){
    font-style:normal;
}
/* Keep the existing Sunny states when a Kit defines global hover/focus colours. */
body .sunny-shop[data-sunny-shop] .ss-primary:focus-visible,
body .sunny-shop[data-sunny-shop] .ss-mobile-bar button:focus-visible{
    color:#fff;
}
