/* Shared controls and stone preview. Model-specific geometry is in layouts/. */
#so-config {
    background:#f5f1e9;
    color:#262721;
    padding:42px;
    margin:20px 0 50px;
    font:14px/1.6 Arial,sans-serif}
#so-config * {
    box-sizing:border-box}
#so-config h2 {
    font:40px/1.1 Georgia,serif;
    font-weight:400;
    margin:0 0 12px;
    color:#262721}
#so-config .sc-eyebrow {
    letter-spacing:.2em;
    font-size:10px;
    color:#786047;
    text-transform:uppercase}
#so-config .sc-intro {
    color:#68675f;
    max-width:620px}
#so-config .sc-grid {
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:48px;
    margin-top:30px;
    align-items:start}
#so-config .sc-stage {
    background:#e3ded3;
    padding:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:510px}
#so-config .sc-plaque {
    width:100%;
    max-width:330px;
    aspect-ratio:4/5;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:26px;
    background:linear-gradient(135deg,#393b35,#111410 58%,#252923);
    box-shadow:6px 7px 0 #0b0e0a,15px 22px 28px #0003;
    color:#b79a72;
    text-align:center;
    overflow:hidden}
#so-config .sc-plaque.sc-matte {
    background:linear-gradient(125deg,#34362f,#242720)}
#so-config .sc-plaque:after {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:repeating-linear-gradient(115deg,transparent 0 85px,#fff02 86px,transparent 88px 160px)}
#so-config .sc-name {
    font:30px/1.3 Georgia,serif;
    letter-spacing:.04em;
    overflow-wrap:anywhere;
    margin:12px 0;
    width:100%;
    color:inherit}
#so-config .sc-dates {
    font:13px/1.5 Arial;
    letter-spacing:.08em;
    overflow-wrap:anywhere;
    margin:0;
    color:inherit}
#so-config .sc-rule {
    width:50px;
    height:1px;
    background:currentColor;
    margin:22px auto}
#so-config .sc-text {
    font:italic 16px/1.5 Georgia,serif;
    max-width:260px;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    margin:0;
    color:inherit}
#so-config .sc-photo {
    width:85px;
    height:106px;
    object-fit:cover;
    border-radius:50%;
    margin:0 0 12px}
#so-config .sc-photo[hidden] {
    display:none}
#so-config .sc-label {
    font-size:10px;
    letter-spacing:.12em;
    color:#786047;
    text-align:center;
    margin-top:18px}
#so-config label {
    display:block;
    font-size:12px;
    margin-bottom:16px}
#so-config input,#so-config select,#so-config textarea {
    display:block;
    width:100%;
    border:1px solid #c9c1b4;
    border-radius:0;
    background:#fffcf6;
    color:#262721;
    padding:11px 12px;
    font:14px Arial;
    margin-top:5px}
#so-config input[type=file] {
    font-size:11px}
#so-config textarea {
    min-height:90px;
    resize:vertical}
#so-config .sc-help {
    font-size:11px;
    color:#716d63;
    margin:6px 0 18px}
#so-config .sc-price {
    padding:18px 0;
    border-top:1px solid #cec6b8;
    margin-top:22px}
#so-config .sc-price strong {
    font:24px Georgia,serif;
    font-weight:400}
#so-config .sc-note {
    font-size:11px;
    color:#716d63;
    margin-top:28px}
#so-config button {
    border:1px solid #786047;
    background:transparent;
    color:#544331;
    padding:9px 13px;
    font:11px Arial;
    cursor:pointer}
body:has(#so-config) .woocommerce-product-gallery {
    display:none}
body:has(#so-config) .summary {
    float:none!important;
    width:100%!important;
    max-width:850px!important}
body:has(#so-config) .woocommerce-tabs .panel {
    max-width:none!important}
#so-config .sc-controls {
    min-width:0}
@media(max-width:760px) {
    #so-config {
    padding:24px 18px}
#so-config h2 {
    font-size:32px}
#so-config .sc-grid {
    grid-template-columns:1fr;
    gap:25px}
#so-config .sc-stage {
    min-height:400px;
    padding:28px}
#so-config .sc-plaque {
    max-width:280px}
#so-config .sc-name {
    font-size:26px}
}

#so-config .sc-pair {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px}
#so-config .sc-name.sc-stack span {
    display:block}
#so-config .sc-dates.sc-stack>span {
    display:block}
#so-config .sc-dates.sc-stack #sc-date-join:empty {
    display:none}
#so-config .sc-error {
    color:#9b352a;
    font-size:12px}
#so-config .sc-plaque {
    min-height:410px;
    transition:color .15s}
#so-config .sc-plaque .sc-name,#so-config .sc-plaque .sc-dates {
    flex-shrink:0}
#so-config .sc-name {
    line-height:1.2!important;
    letter-spacing:.02em!important}
#so-config .sc-stage {
    position:sticky;
    top:55px}
#so-config input[type=range] {
    padding:0;
    accent-color:#786047}
#so-config output {
    float:right;
    color:#786047}
#so-config input[aria-invalid=true] {
    border-color:#9b352a}
#so-config #sc-date-join {
    padding:0 3px}
@media(max-width:760px) {
    #so-config .sc-pair {
    grid-template-columns:1fr}
#so-config .sc-stage {
    position:static}
}
 #so-config .sc-photo-frame {
    position:relative;
    flex-shrink:0;
    width:85px;
    height:106px;
    margin:0 0 12px;
    border-radius:50%;
    overflow:hidden;
    background:#e3ded3;
    border:3px solid #eeeae2;
    box-shadow:1px 2px 4px #0008}
#so-config .sc-photo-frame[hidden] {
    display:none}
#so-config .sc-photo-frame.sc-landscape {
    width:126px;
    height:90px}
#so-config .sc-photo-frame .sc-photo {
    display:block;
    width:100%;
    height:100%;
    border-radius:0;
    margin:0;
    object-fit:cover;
    object-position:center}
#so-config .sc-photo-frame .sc-photo[hidden] {
    display:none}
#so-config .sc-photo-frame.sc-engraved {
    border:none;
    border-radius:3px;
    background:transparent;
    box-shadow:none;
    mix-blend-mode:screen;
    opacity:.86}
#so-config .sc-engraved .sc-photo {
    filter:grayscale(1) contrast(1.25) brightness(1.06)}
#so-config .sc-photo-placeholder {
    position:absolute;
    inset:0;
    background:linear-gradient(#d4d0c7,#aaa69c);
    display:flex;
    justify-content:center;
    align-items:center}
#so-config .sc-photo-placeholder[hidden] {
    display:none}
#so-config .sc-photo-placeholder:before {
    content:'';
    position:absolute;
    top:19%;
    width:28px;
    height:32px;
    border-radius:50%;
    background:#817f76}
#so-config .sc-photo-placeholder span {
    position:absolute;
    bottom:-10px;
    width:75px;
    height:64px;
    border-radius:50% 50% 0 0;
    background:#817f76}
#so-config .sc-engraved .sc-photo-placeholder {
    background:#141711}
#so-config .sc-engraved .sc-photo-placeholder:before,#so-config .sc-engraved .sc-photo-placeholder span {
    background:#c5c7c0}
 #so-config #sc-cutout-editor[hidden] {
    display:none}
#so-config #sc-cutout-editor {
    border:1px solid #c9c1b4;
    padding:16px;
    margin:20px 0}
#so-config #sc-cutout-editor h3 {
    font:24px Georgia,serif;
    color:#262721;
    margin:0 0 14px}
#so-config #sc-cutout-canvas {
    display:block;
    width:100%;
    height:auto;
    max-height:500px;
    object-fit:contain;
    touch-action:none;
    cursor:crosshair;
    background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0 / 16px 16px;
    margin-bottom:18px}
#so-config .sc-cutout-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px}
#so-config .sc-photo-frame.sc-engraved {
    mix-blend-mode:normal;
    opacity:1}
 #so-config #sc-cutout-canvas {
    max-height:none;
    object-fit:fill}
#so-config .sc-grid>div:first-child {
    position:sticky;
    top:55px;
    align-self:start}
#so-config .sc-stage {
    position:static}
@media(max-width:760px) {
    #so-config .sc-grid>div:first-child {
    position:static}
}
 body:has(#so-config) form.cart {
    display:none!important}
 #so-config .sc-monument {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 16px 18px}
#so-config .sc-base-visual {
    width:112%;
    height:27px;
    flex-shrink:0;
    position:relative;
    z-index:2;
    margin-top:5px;
    background:linear-gradient(110deg,#252923,#10130f 60%,#2f332b);
    box-shadow:5px 7px 0 #0b0e0a,10px 17px 18px #0003;
    border-top:7px solid #45483e;
    border-radius:2px}
#so-config .sc-base-visual[hidden] {
    display:none}
#so-config .sc-stage {
    padding-left:34px;
    padding-right:34px}

