/* Shared production layout rules, loaded after the legacy page styles. */
html { scroll-padding-top:100px; }
body { letter-spacing:0; }
.ambient-orb,.portal-orb { display:none !important; }
button,input,select,textarea { letter-spacing:0; }
.search-drawer-overlay:not(.open),.search-modal-box:not(.open) { visibility:hidden !important; opacity:0 !important; pointer-events:none !important; }
.search-drawer-overlay.open,.search-modal-box.open { visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
#catalog .products-glass-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:18px !important; }
#catalog { max-width:1320px !important; padding-left:24px !important; padding-right:24px !important; }
#catalog .product-glass-card { min-width:0 !important; padding:16px !important; border-radius:8px !important; gap:12px; }
#catalog .product-glass-card > div { min-width:0; }
#catalog .flacon-stage-glass { height:175px !important; margin:6px 0 8px !important; border-radius:6px !important; }
#catalog .flacon-stage-glass img { max-width:90% !important; max-height:158px !important; }
#catalog .card-badges-glass { flex-wrap:wrap; justify-content:flex-start; gap:4px; padding-right:24px; min-height:36px; margin-bottom:4px; }
#catalog .badge-discount-glass,#catalog .badge-seal-glass { font-size:10px !important; line-height:1.3; letter-spacing:0 !important; padding:4px 6px; }
#catalog .wishlist-heart-trigger { top:12px; right:10px; width:32px; height:32px; }
#catalog .card-vendor-glass { font-size:10px; letter-spacing:0 !important; }
#catalog .card-social-proof-bar { flex-wrap:wrap; gap:4px; line-height:1.4; min-height:32px; }
#catalog .card-title-glass { font-size:17px !important; line-height:1.35; min-height:46px; margin:6px 0 4px; letter-spacing:0; overflow-wrap:anywhere; }
#catalog .card-notes-glass { font-size:12px; line-height:1.5; min-height:36px; margin-bottom:10px; }
#catalog .card-price-block-glass { gap:3px 6px !important; flex-wrap:wrap; margin-bottom:4px; min-height:38px; }
#catalog .sale-price-glass,#catalog .retail-price-glass,#catalog .savings-pill-glass { line-height:1.35; }
#catalog .sale-price-glass { font-size:21px !important; }
#catalog .retail-price-glass { font-size:12px !important; }
#catalog .savings-pill-glass { font-size:11px !important; padding:2px 5px; letter-spacing:0; }
#catalog .card-pkr-equiv { font-size:11px !important; line-height:1.5; min-height:33px; margin:0 !important; }
#catalog .card-actions-row { display:grid; grid-template-columns:40px minmax(0,1fr); gap:6px; margin:0; }
#catalog .card-actions-row .btn-card-view,#catalog .card-actions-row .btn-liquid-gold { width:100% !important; min-width:0; min-height:42px; margin:0 !important; padding:8px !important; font-size:12px !important; border-radius:6px !important; gap:5px; white-space:normal; }
#catalog .card-actions-row .btn-card-view span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#catalog .stage-quick-view-btn { font-size:11px; padding:6px 10px; }
.portal-dashboard-grid { grid-template-columns:270px minmax(0,1fr); gap:22px; }
.portal-dashboard-grid { width:100%; }
.portal-main-stage,.dashboard-pane,.portal-content-card,.portal-sidebar { min-width:0; }
.sidebar-user-name,.sidebar-user-email,.sidebar-user-phone,.stage-title,.panel-title { overflow-wrap:anywhere; letter-spacing:0; }
.portal-sidebar { padding:18px; }
.portal-order-card,.wishlist-item-card { border-radius:8px; }
.stage-header-block { flex-wrap:wrap; }
.stage-header-block > div { min-width:0; }
.stage-title { font-size:22px; line-height:1.35; }
.wishlist-cards-grid { grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); }
.portal-modal-overlay { padding:16px; overflow-y:auto; }
.portal-modal-card { width:min(560px,100%); max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; }
.portal-live-toast { max-width:calc(100vw - 32px); overflow-wrap:anywhere; }
.admin-main,.admin-content,.glass-panel,.tab-pane { min-width:0; }
.admin-header .header-title-block { min-width:0; }
.admin-header .header-title-block h2 { font-size:18px; line-height:1.35; overflow-wrap:anywhere; letter-spacing:0; }
.admin-header .header-actions { flex-wrap:wrap; justify-content:flex-end; }
.table-responsive { max-width:100%; overscroll-behavior-x:contain; }
.table-responsive table { min-width:650px; }
.admin-content .glass-panel { border-radius:8px; }
.admin-content .panel-title { font-size:17px; }
.admin-content .form-input,.admin-content .form-select,.admin-modal .form-input,.admin-modal .form-select,.admin-modal .form-textarea { min-width:0; width:100%; max-width:100%; }
.admin-content .form-control,.modal .form-control { width:100%; min-width:0; max-width:100%; padding:10px 12px; border:1px solid var(--glass-border); border-radius:6px; color:var(--text-main); background:rgba(0,0,0,.3); font:inherit; box-sizing:border-box; }
.modal .modal-content { position:relative; width:100%; min-width:0; max-height:calc(100dvh - 40px); overflow-y:auto; margin:0; padding:0; border-radius:8px; }
.modal .modal-backdrop { position:absolute; inset:0; }
.modal .modal-header { gap:12px; }
.modal .modal-footer { flex-wrap:wrap; padding:16px; }
.modal .modal-footer .btn { min-height:42px; max-width:100%; white-space:normal; }
.modal .btn-close { flex-shrink:0; width:36px; height:36px; border:1px solid var(--glass-border); border-radius:6px; background:transparent; color:var(--text-main); cursor:pointer; font-size:22px; }
.journal-admin-row p { overflow-wrap:anywhere; }
.admin-content .search-input-wrap { min-width:150px; }
#admin-nav-backdrop { display:none; }
.journal-admin-row { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:16px; padding:18px 0; border-bottom:1px solid var(--glass-border); }
.journal-admin-row img { width:90px; height:90px; object-fit:cover; border-radius:6px; }
.journal-admin-row h3 { font-size:17px; line-height:1.4; margin:5px 0; overflow-wrap:anywhere; }
.journal-admin-row p { font-size:13px; line-height:1.5; color:var(--text-muted); margin:6px 0; }
.journal-admin-row small { font-size:12px; color:var(--text-dim); overflow-wrap:anywhere; }
.journal-admin-actions { display:flex; gap:6px; flex-wrap:wrap; align-content:flex-start; max-width:190px; }
.reels-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.reel-admin-card { min-width:0; border:1px solid var(--glass-border); border-radius:8px; overflow:hidden; }
.reel-admin-thumb { display:block; width:100%; height:160px; object-fit:contain; background:rgba(255,255,255,.04); }
.reel-duration-badge { position:absolute; bottom:8px; left:8px; padding:3px 6px; font-size:11px; background:#121719; color:var(--gold-light); border-radius:4px; }
.reel-admin-body { min-width:0; padding:12px; }
.reel-admin-title { margin:0 0 6px; font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.reel-admin-meta { font-size:12px; line-height:1.5; color:var(--text-muted); overflow-wrap:anywhere; }
#editor-duos-list,#editor-voice-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important; }
#editor-duos-list .glass-panel { min-width:0; margin:0; box-shadow:none; background:transparent; }
#editor-duos-list .glass-panel > div > div { min-width:0; overflow-wrap:anywhere; }
#editor-duos-list img { flex-shrink:0; }
@media(max-width:1199px) {
  .reels-admin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #catalog .products-glass-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .admin-header { height:auto; min-height:70px; gap:12px; flex-wrap:wrap; }
}
@media(max-width:991px) {
  .admin-sidebar { display:flex !important; width:min(280px,calc(100vw - 40px)); height:100dvh; z-index:6000; overflow-y:auto; transform:translateX(-100%); visibility:hidden; }
  .admin-sidebar.open { transform:translateX(0); visibility:visible; }
  .admin-header .menu-toggle { display:inline-flex !important; min-width:40px; height:40px; align-items:center; justify-content:center; }
  #admin-nav-backdrop:not([hidden]) { display:block; position:fixed; inset:0; z-index:5999; border:0; background:rgba(0,0,0,.6); }
  .admin-header { padding:10px 12px; gap:8px; }
  .admin-header .header-left { flex:1 1 240px; min-width:0; }
  .admin-header .header-actions { flex:1 1 auto; justify-content:flex-start; }
  .admin-header .header-actions .btn { min-height:38px; }
  .admin-content .glass-panel { padding:16px; margin-bottom:16px; }
  .editor-sub-nav { max-width:100%; overflow-x:auto; flex-wrap:nowrap; }
  .editor-sub-btn { flex:0 0 auto; min-height:42px; }
  .admin-modal-overlay .admin-modal { max-height:calc(100dvh - 16px) !important; border-radius:8px 8px 0 0 !important; }
  .admin-modal .modal-header,.admin-modal .modal-body,.admin-modal .modal-footer { padding:16px; }
  .portal-dashboard-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
  .portal-sidebar { padding:16px; }
  .avatar-studio-container { display:grid; grid-template-columns:64px minmax(0,1fr); text-align:left; gap:3px 12px; margin-bottom:12px; padding-bottom:12px; }
  .avatar-studio-container .avatar-ring-wrap { grid-row:1 / 5; width:60px; height:60px; margin:0; }
  .avatar-studio-container .sidebar-user-name { font-size:17px; margin:0; }
  .avatar-studio-container .sidebar-user-email,.avatar-studio-container .sidebar-user-phone { margin:0; font-size:12px; }
  .avatar-action-links { justify-content:flex-start; flex-wrap:wrap; margin:0; }
  .avatar-studio-container .avatar-ring-wrap { grid-row:1; }
  .avatar-studio-container .sidebar-user-email,.avatar-studio-container .sidebar-user-phone,.avatar-studio-container .avatar-action-links { grid-column:1 / -1; }
  .avatar-studio-container > div[style],.avatar-studio-container .tier-progress-card { grid-column:1 / -1; margin:6px 0 0 !important; }
  .avatar-studio-container .vip-tier-badge { margin:0; }
  .tier-progress-card { padding:8px 10px; }
  .sidebar-nav-menu { flex-direction:row; overflow-x:auto; gap:6px; padding-bottom:6px; scroll-snap-type:x proximity; }
  .sidebar-nav-menu > div { display:none; }
  .sidebar-nav-menu .sidebar-nav-item { flex:0 0 auto; width:auto; max-width:240px; padding:10px 12px; min-height:44px; scroll-snap-align:start; border:1px solid var(--portal-border); border-radius:6px; font-size:12px; }
  .sidebar-nav-item-left { gap:6px; }
  .sidebar-nav-item-left span { white-space:normal; }
}
@media(max-width:767px) {
  .review-card-item { min-width:0 !important; width:100% !important; box-sizing:border-box; }
  #catalog { padding:24px 12px !important; }
  #catalog .products-glass-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  #catalog .product-glass-card { padding:10px !important; gap:6px; }
  #catalog .flacon-stage-glass { height:120px !important; margin:4px 0 4px !important; }
  #catalog .flacon-stage-glass img { max-height:108px !important; }
  #catalog .card-badges-glass { min-height:36px; gap:3px; margin:0; }
  #catalog .badge-discount-glass,#catalog .badge-seal-glass { border-width:0; }
  #catalog .card-vendor-glass { margin-bottom:2px; }
  #catalog .card-title-glass { font-size:14px !important; min-height:38px; margin:4px 0; }
  #catalog .card-social-proof-bar { font-size:11px !important; margin:2px 0 !important; min-height:28px; }
  #catalog .social-proof-orders { padding:2px 4px !important; font-size:10px; }
  #catalog .card-social-proof-bar > span { max-width:100%; }
  #catalog .card-notes-glass { font-size:11px; min-height:33px; }
  #catalog .sale-price-glass { font-size:18px !important; }
  #catalog .card-price-block-glass { min-height:36px; gap:3px 5px !important; margin-bottom:4px; }
  #catalog .card-notes-glass { margin-bottom:6px; }
  #catalog .savings-pill-glass { font-size:10px !important; }
  #catalog .card-pkr-equiv { min-height:30px; font-size:10px !important; }
  #catalog .card-actions-row { grid-template-columns:34px minmax(0,1fr); gap:4px; }
  #catalog .card-actions-row .btn-liquid-gold,#catalog .card-actions-row .btn-card-view { padding:6px 4px !important; min-height:44px; }
  #catalog .card-actions-row svg { flex:0 0 14px; }
  #catalog .card-actions-row .btn-liquid-gold span { min-width:0; overflow-wrap:normal; line-height:1.2; }
  #catalog .badge-discount-glass,#catalog .badge-seal-glass { padding:3px 4px; font-size:10px !important; }
  #catalog .product-glass-card,#catalog .product-glass-card:hover { transform:none !important; }
  .filter-pills-glass { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:4px 0 12px; margin-bottom:12px; }
  .filter-pills-glass .pill-glass-btn { flex:0 0 auto; font-size:12px; min-height:42px; letter-spacing:0; }
  .catalog-glass-title { font-size:26px !important; line-height:1.3; letter-spacing:0; }
  .duos-glass-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .duos-glass-grid .product-glass-card { padding:12px !important; border-radius:8px !important; }
  .duos-glass-grid .product-glass-card > div > div[style*="height: 290px"] { height:170px !important; margin-bottom:12px !important; }
  .duos-glass-grid img { max-height:140px !important; }
  .duos-glass-grid .card-title-glass { font-size:15px !important; }
  .duos-glass-grid .btn-liquid-gold { min-height:44px; padding:8px !important; font-size:12px; white-space:normal; }
  .portal-topbar { flex-wrap:wrap; }
  .portal-logo-text { letter-spacing:0 !important; }
  .portal-topbar-actions > :not(:first-child) { display:inline-flex !important; }
  .portal-topbar-actions { flex:1 1 100%; width:100%; min-width:0; flex-wrap:wrap; gap:5px; }
  .portal-topbar-actions .portal-pill-btn { font-size:12px; padding:7px 10px; }
  .portal-container { padding:0 12px 40px; }
  .portal-order-card { padding:14px; }
  .stage-title { font-size:20px; }
  .stage-header-block > div[style] { flex-wrap:wrap; }
  .delivery-stepper-wrap { padding:12px 8px; }
  .node-label { font-size:11px; overflow-wrap:anywhere; }
  .wishlist-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .wishlist-item-card { min-width:0; padding:12px; }
  .wishlist-item-card h3 { font-size:14px !important; overflow-wrap:anywhere; }
  .wishlist-item-card img { max-height:120px !important; }
  .portal-modal-card { padding:18px; }
  .journal-admin-row { grid-template-columns:64px minmax(0,1fr); gap:10px; }
  .journal-admin-row img { width:64px; height:76px; }
  .journal-admin-actions { grid-column:1 / -1; max-width:none; }
  .portal-modal-card [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns:minmax(0,1fr) !important; }
  .portal-modal-card [style*="repeat(4, 1fr)"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .portal-input,.form-input,.form-select,.form-textarea { font-size:16px; }
  .modal .form-control { font-size:16px; }
  .modal .modal-content [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns:minmax(0,1fr) !important; padding:16px !important; }
  .modal .modal-content [style*="grid-column: span 2"] { grid-column:auto !important; }
  .portal-pill-btn { white-space:normal; }
  .portal-modal-title { font-size:19px; overflow-wrap:anywhere; }
  .portal-auth-wrapper { margin:20px auto; border-radius:8px; }
  .pdp-media-view { height:280px; }
  .pdp-title { font-size:25px !important; }
  .admin-content .products-filter-bar { align-items:stretch; }
  .products-action-banner .btn { min-width:0; max-width:100%; white-space:normal; font-size:12px !important; padding:10px 12px !important; }
  .products-action-banner .btn svg { flex-shrink:0; }
  .admin-content .search-input-wrap { flex-basis:100%; }
  .admin-content .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-content .stat-card { padding:14px; min-width:0; }
  .admin-content .stat-value { font-size:23px; overflow-wrap:anywhere; }
  .admin-content .stat-label { font-size:11px; letter-spacing:0; }
  .admin-content .stat-change { font-size:11px; }
  .admin-content .stats-grid + .dashboard-grid { grid-template-columns:1fr; }
  .admin-content .table-responsive { border-radius:6px; }
  .admin-modal .modal-footer { flex-wrap:wrap; gap:8px; }
  .admin-modal .modal-footer .btn { min-height:42px; }
  .admin-content .reels-admin-grid { grid-template-columns:minmax(0,1fr); }
  .reel-admin-card { display:grid; grid-template-columns:80px minmax(0,1fr); }
  .reel-admin-thumb { height:120px; }
  .reel-admin-body { padding:10px; }
}
@media(max-width:359px) {
  #catalog .flacon-stage-glass { height:112px !important; }
  #catalog .flacon-stage-glass img { max-height:102px !important; }
  #catalog .card-vendor-glass { min-height:26px; line-height:1.3; }
  .duos-glass-grid { grid-template-columns:minmax(0,1fr) !important; }
  .admin-content .stats-grid { grid-template-columns:minmax(0,1fr); }
}
