.shop-product{padding:24px 0;border-bottom:1px solid #e4e9e3;min-width:0}
.shop-product-heading{display:grid;gap:8px;margin-bottom:18px}
.shop-product-name{display:flex;align-items:flex-start;gap:10px;font-weight:600;overflow-wrap:anywhere}
.shop-product-name input{flex-shrink:0;margin-top:4px}
.shop-product small{display:block;color:#627567;line-height:1.6}
.shop-fields{display:grid;grid-template-columns:auto auto minmax(140px,1fr) minmax(100px,.7fr) minmax(180px,1fr) auto;gap:16px;align-items:end}
.shop-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}
.shop-fields input[type=number],.shop-fields select{width:100%;min-width:0;box-sizing:border-box}
.shop-fields .shop-check,.shop-check{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:42px;font-size:14px}
.shop-check input[type=checkbox]{width:auto;flex-shrink:0}
#shop-form-error{color:#a32c2c;padding:12px;white-space:pre-wrap}
#shop-campaign [hidden]{display:none}
#shop-campaign-preview{min-height:40px;line-height:1.7}
.campaign-group{border-top:1px solid #e4e9e3;margin-top:20px;padding-top:20px}
.campaign-group h3{margin:0 0 16px;font-size:15px}
.campaign-group h3 small{font-weight:400;color:#627567;font-size:12px;margin-left:8px}
#shop-campaign .form-grid{align-items:start}
#shop-campaign .field{min-width:0}
#shop-campaign .field>small{line-height:1.6}
#shop-campaign input:disabled{background:#f3f5f2;color:#849087}
@media(max-width:1200px){.shop-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.shop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-fields>label:nth-child(n+3),.shop-fields>button{grid-column:1/-1}.campaign-group{padding-top:16px;margin-top:16px}}

#shop-settings h2{margin-bottom:18px}
#shop-settings .field>small{line-height:1.6}
@media(max-width:520px){.main:has(#shop-settings,#shop-campaign) .topbar{gap:10px}.main:has(#shop-settings,#shop-campaign) .crumb{min-width:0;font-size:11px}.main:has(#shop-settings,#shop-campaign) .account{gap:8px;flex-shrink:0}.main:has(#shop-settings,#shop-campaign) .workspace-account-menu summary{max-width:75px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

.shop-campaign-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}#category-moves:empty{display:none}#category-moves .field{margin-top:12px}

/* Store preview entry and the shared preview dialog, including narrow windows. */
#page:has(#shop-settings)>.page-head{align-items:flex-start;gap:20px}
#page:has(#shop-settings)>.page-head>div:first-child{min-width:0}
#page:has(#shop-settings)>.page-head>.row{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
#page:has(#shop-settings)>.page-head>.row button{min-height:44px;border-radius:12px}
.modal:has(#share-code-content){max-width:calc(100vw - 24px)}
#share-code-content{min-width:0;line-height:1.7}
#share-code-content h3,#share-code-content p{overflow-wrap:anywhere}
#share-code-content h3{line-height:1.5;margin-bottom:12px}
#share-code-content>p{margin:12px 0}
#share-code-content textarea{margin:8px 0 0;font-size:13px;line-height:1.6;padding:12px;border-radius:10px}
#share-code-content>.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
#share-code-content>.row button{min-height:44px;white-space:normal}
@media(max-width:640px){#page:has(#shop-settings)>.page-head{display:block}#page:has(#shop-settings)>.page-head>.row{margin-top:18px;display:flex;width:100%}#page:has(#shop-settings)>.page-head>.row button{flex:1;min-width:0;white-space:normal;padding:10px 12px}#share-code-content>.row button{flex:1;min-width:0;padding:10px 12px}}
@media(max-width:520px){.main:has(#shop-settings) .topbar .crumb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Storefront settings and product presentation stay grouped at every width. */
.storefront-settings .panel-head,.storefront-products .panel-head{align-items:flex-start;gap:16px;flex-wrap:wrap}
#shop-settings .panel-head h2{margin:0}
.storefront-settings .panel-head .subtitle,.storefront-products .panel-head .subtitle{margin-top:8px;line-height:1.7}
#shop-settings .form-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);align-items:start;gap:28px}
#shop-settings textarea{min-height:112px;line-height:1.7;resize:vertical}
.storefront-points input{max-width:260px}.storefront-points small{display:block;max-width:460px;color:var(--muted)}
.storefront-settings-actions{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.storefront-batch{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 24px;background:var(--pale)}
.storefront-batch>span{margin-right:auto;font-size:13px}
.storefront-product-list{padding:20px 24px;display:grid;gap:16px}.storefront-product-list:empty{display:none}
.storefront-products .shop-product{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff}
.storefront-products .shop-product-heading{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.storefront-products .shop-product-name{font-size:15px;line-height:1.6}
.storefront-products .shop-fields{grid-template-columns:auto auto minmax(120px,1fr) minmax(80px,.5fr) minmax(160px,1fr) auto}
.storefront-products .shop-fields>button{min-height:42px}
@media(max-width:1400px){.storefront-products .shop-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#shop-settings .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.storefront-points input{max-width:none}.storefront-product-list{padding:16px}.storefront-batch{padding:16px}.storefront-products .shop-product{padding:16px}}
@media(max-width:640px){.storefront-products .shop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront-settings-actions button{width:100%}.storefront-batch>span{width:100%}.storefront-batch>button{flex:1;white-space:normal}}

/* Product marketing: list-first workspace and a scoped native dialog drawer. */
.campaign-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:20px}.campaign-tabs button{border:0;background:transparent;border-radius:0;padding:14px 2px;white-space:nowrap;color:var(--muted)}.campaign-tabs button[aria-pressed=true]{color:var(--brand);box-shadow:inset 0 -3px var(--brand);font-weight:600}.campaign-tabs span{margin-left:6px}
.campaign-filters{display:flex;gap:16px;margin-bottom:20px}.campaign-filters input{max-width:440px}.campaign-filters select{width:200px}
.campaign-table{overflow:visible}.campaign-table table{width:100%;table-layout:fixed;border-collapse:collapse}.campaign-table th,.campaign-table td{padding:20px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.campaign-table th{font-weight:500;color:var(--muted);background:var(--pale)}.campaign-table th:first-child{width:37%}.campaign-table th:nth-child(2){width:25%}.campaign-table th:nth-child(3){width:15%}.campaign-table small{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-top:6px}.campaign-table strong{line-height:1.6}.campaign-row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.campaign-row-actions>button,.campaign-row-actions summary{border:0;background:none;color:var(--brand);padding:0;cursor:pointer;white-space:nowrap}.campaign-row-actions details{position:relative}.campaign-row-actions details>div{position:absolute;right:0;top:24px;z-index:5;min-width:120px;padding:8px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #153b2420}.campaign-row-actions details button{display:block;border:0;width:100%;text-align:left;white-space:nowrap}.campaign-status-upcoming{background:#fff3da;color:#8b6317}.campaign-status-paused,.campaign-status-ended{background:#edf0ee;color:#647168}.campaign-reconcile{margin-top:24px}.campaign-reconcile summary{cursor:pointer}
.campaign-drawer{padding:0;border:0;border-left:1px solid var(--line);margin:0 0 0 auto;width:min(600px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);background:white;box-shadow:-8px 0 32px #163d2418}.campaign-drawer::backdrop{background:rgba(23,45,31,.12)}.campaign-drawer[open]{display:flex;flex-direction:column}.campaign-drawer>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;border-bottom:1px solid var(--line)}.campaign-drawer h2{font-size:22px;margin:0}.campaign-drawer header .subtitle{margin-top:8px;line-height:1.6}.campaign-drawer>header>button{font-size:24px;line-height:1;padding:6px 10px;border:0}.campaign-drawer #shop-campaign{display:flex;flex:1;flex-direction:column;min-height:0;margin:0}.campaign-drawer-body{padding:24px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.campaign-drawer footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px;background:white}.campaign-drawer footer button{min-width:110px}.campaign-drawer .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.campaign-drawer .field{margin-bottom:14px;gap:8px}.campaign-drawer input,.campaign-drawer select{width:100%;min-width:0}.campaign-drawer input[type=checkbox]{width:auto}.campaign-drawer .campaign-group{border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:18px}.campaign-type-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.campaign-type-cards button{padding:12px 5px;font-size:13px;white-space:normal;line-height:1.5}.campaign-type-cards small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.campaign-type-cards button[aria-pressed=true]{border-color:var(--brand);background:var(--pale);color:var(--brand)}.campaign-preview{padding:18px;background:var(--pale);border-radius:10px;margin-top:18px}.campaign-preview h3{margin:0 0 12px;font-size:15px}.campaign-preview p{line-height:1.8}.campaign-preview small,#campaign-product-info{color:var(--muted);line-height:1.6}.campaign-field-error{color:#a32c2c!important;font-size:12px}.campaign-drawer [aria-invalid=true]{border-color:#a32c2c}.campaign-drawer #shop-form-error:empty{display:none}.campaign-drawer [hidden]{display:none!important}
@media(max-width:1100px){.campaign-table th,.campaign-table td{padding:14px 10px}.campaign-table th:first-child{width:32%}.campaign-table th:nth-child(2){width:25%}.campaign-table th:nth-child(3){width:18%}}
@media(max-width:700px){.campaign-filters{flex-wrap:wrap}.campaign-filters input,.campaign-filters select{width:100%;max-width:none}.campaign-table table,.campaign-table tbody,.campaign-table tr,.campaign-table td{display:block;width:auto}.campaign-table thead{display:none}.campaign-table tr{padding:16px;border-bottom:1px solid var(--line)}.campaign-table td{padding:6px 0;border:0}.campaign-tabs{gap:18px}.campaign-drawer>header,.campaign-drawer-body{padding:16px}.campaign-drawer .campaign-group{padding:14px}.campaign-type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-drawer footer{padding:14px 16px}.campaign-drawer .form-grid{grid-template-columns:minmax(0,1fr)}}

.campaign-discard{padding:12px 24px;background:#fff3da;border-bottom:1px solid var(--line)}.campaign-discard p{margin:0 0 8px}.campaign-type-cards button{display:block}
#page:has(.campaign-drawer)>.page-head{flex-wrap:wrap}#page:has(.campaign-drawer)>.page-head>div{min-width:0}
.campaign-drawer>header{padding:18px 24px}.campaign-drawer-body{padding:18px 24px}.campaign-drawer .campaign-group{padding:14px;margin-top:14px}.campaign-drawer .campaign-group h3{margin-bottom:12px}.campaign-drawer .field{margin-bottom:0}.campaign-drawer .form-grid{gap:12px;margin-bottom:0}.campaign-drawer .campaign-group:first-of-type{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaign-drawer .campaign-group:first-of-type>h3,.campaign-drawer .campaign-group:first-of-type>.field:last-child{grid-column:1/-1}.campaign-drawer .campaign-group:first-of-type>h3{margin-bottom:0}.campaign-drawer .campaign-group:first-of-type #campaign-product-info{grid-column:1/-1}.campaign-type-cards button{padding:10px 4px}.campaign-preview{padding:14px;margin-top:14px}.campaign-preview p{margin:8px 0}.campaign-preview h3{margin-bottom:8px}
@media(max-width:700px){.campaign-drawer>header,.campaign-drawer-body{padding:16px}.campaign-drawer .campaign-group:first-of-type{grid-template-columns:minmax(0,1fr)}}
.campaign-table td,.campaign-table small{white-space:normal;overflow-wrap:anywhere}
