/* Shared visual language with La Mia Società. Loaded only by the society renderer.
   --accent remains the society's own configurable identity colour. */
body.soc-commerce {
    --soc-ink:#142d3b; --soc-muted:#5e6c73; --soc-lime:#def58a;
    --soc-line:#dce2e4; --soc-soft:#f4f6f6;
    background:#fff; color:var(--soc-ink); -webkit-font-smoothing:antialiased;
}
body.soc-commerce :is(h1,h2,h3) { color:var(--soc-ink); }
.soc-commerce .eyebrow { color:var(--soc-muted); }
body.soc-commerce :is(a,button,input,select,textarea,summary):focus-visible {
    outline:3px solid #54761b; outline-offset:4px;
}
.soc-commerce .soc-stage { background:var(--soc-ink); color:#edf2f3; font-size:11px; padding-block:7px; }
.soc-commerce .soc-header { border-color:var(--soc-line); padding-block:21px; gap:24px; }
.soc-commerce .soc-brand { color:var(--soc-ink); min-width:0; line-height:1.25; }
.soc-commerce .soc-brand>span { overflow-wrap:anywhere; }
.soc-commerce .soc-brand small { color:var(--soc-muted); font-size:9px; letter-spacing:.12em; margin-top:6px; }
.soc-commerce .soc-header .soc-brand img { width:60px; height:60px; flex:0 0 60px; }
.soc-commerce .soc-header nav { gap:24px; flex-shrink:0; }
.soc-commerce .soc-header nav>a { min-height:44px; display:inline-flex; align-items:center; }
.soc-commerce .soc-header nav>a:last-child { background:var(--soc-lime); border:1px solid transparent; border-radius:6px; padding:8px 13px; gap:8px; }
.soc-commerce .soc-header nav>a:hover { text-decoration:underline; text-underline-offset:4px; }
.soc-commerce .soc-count { background:#fff9; color:var(--soc-ink); width:25px; height:25px; margin:0; }
.soc-commerce .soc-main { padding-top:38px; }
.soc-commerce .soc-hero { grid-template-columns:1.15fr .85fr; gap:58px; padding-top:14px; margin-bottom:45px; }
.soc-commerce .soc-hero>div { min-width:0; }
.soc-commerce .soc-hero h1 { font-size:clamp(40px,4.6vw,66px); line-height:1.065; letter-spacing:-.048em; margin-bottom:22px; overflow-wrap:break-word; }
.soc-commerce .soc-hero .eyebrow { display:flex; align-items:center; gap:12px; color:var(--soc-ink); font-size:10px; letter-spacing:.12em; }
.soc-commerce .soc-hero .eyebrow:before { content:''; width:26px; height:3px; flex:0 0 26px; background:var(--accent); }
.soc-commerce .lead { color:var(--soc-muted); }
.soc-commerce .soc-hero .lead { font-size:17px; line-height:1.7; margin-bottom:27px; }
.soc-commerce .soc-button { background:var(--soc-ink); border-color:var(--soc-ink); color:#fff; border-radius:6px; min-height:46px; }
.soc-commerce .soc-button:hover { background:#274857; border-color:#274857; color:#fff; }
.soc-commerce .soc-button.secondary { background:transparent; color:var(--soc-ink); border-color:#a7b5bb; }
.soc-commerce .soc-button.small { min-height:44px; }
.soc-commerce .hero-mark {
    min-height:330px; padding:34px 25px 28px; gap:24px; color:var(--soc-ink);
    background:linear-gradient(135deg,#f0f4f2 0%,#f0f4f2 70%,var(--soc-lime) 70%);
    border:1px solid #e1e7e3; border-radius:10px 64px 10px 10px;
}
.soc-commerce .hero-mark:before,.soc-commerce .hero-mark:after { content:none; }
.soc-commerce .hero-mark img {
    width:210px; height:210px; max-width:75%; max-height:none; padding:18px;
    object-fit:contain; background:#fff; border:1px solid #dce2e4;
    border-top:3px solid var(--accent); border-radius:9px; box-shadow:0 7px 20px #142d3b07;
}
.soc-commerce .hero-mark>span { font-size:130px; line-height:1; margin:10px 0; color:var(--accent); }
.soc-commerce .hero-mark small { color:var(--soc-ink); font-size:10px; font-weight:700; letter-spacing:.14em; }
.soc-commerce .soc-values { border-color:var(--soc-line); font-size:13px; color:var(--soc-muted); padding:21px 0; margin-bottom:48px; }
.soc-commerce .soc-values span { display:flex; align-items:center; gap:10px; }
.soc-commerce .soc-values span:before { display:inline-grid; place-items:center; width:22px; height:22px; flex:0 0 22px; border-radius:50%; background:var(--soc-lime); color:var(--soc-ink); margin:0; font-size:12px; }
.soc-commerce #collezione { padding:30px; margin-inline:-20px; background:var(--soc-soft); border:1px solid #e9eeee; border-radius:12px; scroll-margin-top:24px; }
.soc-commerce #collezione .section-heading { margin-bottom:24px; }
.soc-commerce #collezione .eyebrow { color:var(--soc-muted); font-size:10px; }
.soc-commerce #collezione h2 { font-size:clamp(28px,3vw,36px); letter-spacing:-.035em; }
.soc-commerce .soc-product { background:#fff; border-color:var(--soc-line); border-radius:12px; }
.soc-commerce .soc-product h3 { font-size:20px; line-height:1.25; }
.soc-commerce .product-info { padding:21px; }
.soc-commerce .product-bottom { gap:12px; }
.soc-commerce .product-bottom>strong { flex-shrink:0; }
.soc-commerce .product-image { background:#e9edef; }
.soc-commerce .product-image img { object-fit:contain; }
.soc-commerce .soc-note { background:#eff4e7; color:var(--soc-ink); border-radius:8px; }
.soc-commerce .soc-collection-gate,.soc-commerce .soc-login { background:#fff; border-color:var(--soc-line); border-radius:12px; box-shadow:none; }
.soc-commerce .soc-collection-gate { margin:12px 0 0; max-width:780px; }
.soc-commerce .soc-login { background:var(--soc-soft); }
.soc-commerce .soc-collection-exit { color:var(--soc-muted); }
.soc-commerce :is(.button,button,input[type=submit]) { background:var(--soc-ink); color:#fff; border-radius:6px; min-height:44px; }
.soc-commerce :is(.button,button):hover { background:#274857; color:#fff; filter:none; }
.soc-commerce input:not([type=checkbox]):not([type=radio]):not([type=submit]),.soc-commerce select,.soc-commerce textarea { border-color:#bcc9cf; border-radius:6px; background:#fff; color:var(--soc-ink); }
.soc-commerce table.shop_table,.soc-commerce .cart_totals { background:#fff; border-color:var(--soc-line); border-radius:12px; }
.soc-commerce table.shop_table th,.soc-commerce table.shop_table td { border-color:var(--soc-line); }
.soc-commerce .woocommerce-checkout #payment { background:var(--soc-soft); border-radius:10px; }
.soc-commerce .woocommerce-info,.soc-commerce .woocommerce-message { background:var(--soc-soft); color:var(--soc-ink); }
.soc-commerce :is(.report-stats article,.report-order,table) { background:#fff; border-color:var(--soc-line); }
.soc-commerce .report-stats article:last-child { background:var(--soc-ink); color:#fff; }
.soc-commerce .report-stats article:last-child>span { color:#dce8ec; }
.soc-commerce .soc-footer { background:var(--soc-soft); border-top:1px solid var(--soc-line); padding-block:32px; border-radius:12px 12px 0 0; }
.soc-commerce .soc-footer p { color:var(--soc-muted); }
.soc-commerce .soc-footer a { text-underline-offset:4px; }
.soc-commerce .soc-footer a:hover { text-decoration:underline; }
@media(max-width:960px) {
    .soc-commerce .soc-hero { gap:32px; }
    .soc-commerce .hero-mark { min-height:300px; }
    .soc-commerce .hero-mark img { width:185px; height:185px; }
    .soc-commerce #collezione { margin-inline:0; padding:24px; }
    .soc-commerce .product-bottom { flex-wrap:wrap; }
    .soc-commerce .soc-product h3 { font-size:19px; }
    .soc-commerce .soc-values { gap:16px; font-size:12px; }
}
@media(max-width:600px) {
    .soc-commerce .soc-header { gap:16px; padding-block:18px; }
    .soc-commerce .soc-header nav { gap:20px; border-color:var(--soc-line); padding-top:12px; }
    .soc-commerce .soc-header .soc-brand img { width:50px; height:50px; flex-basis:50px; }
    .soc-commerce .soc-main { padding-top:26px; }
    .soc-commerce .soc-hero { grid-template-columns:1fr; gap:26px; padding-top:0; margin-bottom:26px; }
    .soc-commerce .soc-hero h1 { font-size:clamp(38px,10.5vw,48px); }
    .soc-commerce .soc-hero .lead { font-size:16px; }
    .soc-commerce .hero-mark { min-height:230px; padding:24px 20px 20px; gap:18px; border-top-right-radius:48px; }
    .soc-commerce .hero-mark img { width:145px; height:145px; padding:12px; }
    .soc-commerce .hero-mark>span { font-size:95px; }
    .soc-commerce .soc-values { margin-bottom:30px; padding:20px 0; gap:13px; font-size:13px; }
    .soc-commerce #collezione { margin-inline:-8px; padding:22px 14px; }
    .soc-commerce .soc-grid .soc-product { max-width:none; }
    .soc-commerce .soc-collection-gate { padding:24px 18px; }
    .soc-commerce .product-info { padding:20px; }
    .soc-commerce .soc-product h3 { font-size:21px; }
    .soc-commerce .soc-footer { border-radius:0; }
}
