/* Shared responsive layouts. Desktop styles remain in each page's existing stylesheet. */
.mobile-menu-toggle{display:none}
@media(max-width:1100px){
 .shop-header .main-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding-block:16px;min-height:0}
 .main-header>.shop-brand{min-width:0}.main-header>.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #d5bbce;border-radius:6px;background:white;color:#873b78;font:inherit;font-size:17px}
 .main-header>.main-navigation,.main-header>.header-search,.main-header>.member-link{grid-column:1/-1;width:100%;min-width:0}
 .main-header>.main-navigation{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding-top:10px}
 .main-navigation>a,.main-navigation summary{display:block;padding:14px 6px;min-height:44px;font-size:18px}
 .main-header.mobile-nav-ready:not(.mobile-open)>:is(.main-navigation,.header-search,.member-link){display:none}
 .main-header .category-dropdown{position:static;width:100%;min-width:0;max-height:40vh;box-shadow:none;border-radius:6px;margin:0 0 12px;padding:8px 16px}
 .main-header .category-dropdown a{padding:12px 0;font-size:17px;white-space:normal;overflow-wrap:anywhere}
 .main-header>.header-search input{width:100%;min-width:0;font-size:20px}.main-header>.header-search button{min-width:44px;min-height:44px}
 .main-header>.member-link{padding:12px 0;font-size:17px}
}
@media(max-width:1000px){
 .admin-shell{display:block;min-width:0}.admin-shell>.sidebar{position:static;height:auto;min-height:0;padding:16px 20px;border-right:0;border-bottom:1px solid var(--border)}
 .sidebar .brand{padding:0;min-width:0;gap:10px}.sidebar .brand-text{flex:1;min-width:0}.sidebar .brand-text strong{font-size:21px}.sidebar .brand-text span{font-size:14px}
 .sidebar .mobile-menu-toggle{display:inline-flex;min-height:44px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--primary-dark);margin-left:auto}
 .sidebar .sidebar-nav{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sidebar .sidebar-link{min-width:0;padding:12px;font-size:17px;overflow-wrap:anywhere}
 .sidebar .sidebar-bottom{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sidebar-bottom>*{margin:0;min-width:0}
 .sidebar.mobile-nav-ready:not(.mobile-open)>.sidebar-nav,.sidebar.mobile-nav-ready:not(.mobile-open)>.sidebar-bottom{display:none}
 .admin-shell>.main-content{padding:26px;min-width:0;width:100%}
 .website-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .banner-edit-layout,.feedback-grid,.innovation-editor .feedback-grid,.shop-info-layout,.post-editor-layout,.brand-edit-layout{grid-template-columns:minmax(0,1fr)}
 .banner-preview-panel,.feedback-preview,.post-library,.shop-info-preview{position:static;max-height:none;overflow:visible}
 .post-library #postList{max-height:280px}.post-home-picker{flex-wrap:wrap}
 .product-detail-grid{gap:30px}.product-gallery-stage{height:380px}
 .footer-layout{column-gap:30px}.brand-copy{padding:30px}.care-strip{gap:24px}
}
@media(max-width:760px){
 body{min-width:0}img,video,iframe{max-width:100%}input,select,textarea{max-width:100%;min-width:0;font-size:20px!important}input[type=checkbox],input[type=radio]{flex-shrink:0}input[type=file]{font-size:16px!important;max-width:100%}
 button{touch-action:manipulation}button:not(.dialog-close):not(.modal-close),select,input:not([type=checkbox]):not([type=radio]){min-height:44px}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px}
 :is(main,section,article,aside,fieldset,form,.card,.card-body,.panel,.stack,.product-card,.journal-card){min-width:0}
 h1,h2,h3,p,address,legend,strong{overflow-wrap:anywhere}fieldset{max-width:100%}dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
 .shop-width,.shop-section{width:calc(100% - 36px)}.shop-section{padding-block:42px}.shop-brand{gap:10px}.shop-brand img{width:48px;height:48px}.shop-brand>span{font-size:29px}.shop-brand small{font-size:14px}
 .draft-bar{padding:10px 18px;font-size:14px;line-height:1.7}.draft-bar span{display:block;margin-left:0;letter-spacing:0}
 .hero{height:auto;aspect-ratio:4/3;min-height:0}.hero-banner-image{object-fit:contain;background:#f7f0f4}.banner-navigation{padding:12px 16px;gap:14px;flex-wrap:wrap}.banner-dots{gap:4px;flex-wrap:wrap}.banner-dot{width:30px;height:44px}.banner-pause{min-height:44px;padding:8px 12px}
 .care-strip{flex-wrap:wrap;gap:12px 22px;padding:20px 18px;line-height:1.7;text-align:center}.care-strip>a{padding:6px 0}
 .section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-heading h2,.page-title{font-size:36px;letter-spacing:-.7px}.section-heading .arrow-link{align-self:flex-start}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.product-image{padding:12px}.product-name{font-size:17px;overflow-wrap:anywhere}.product-price{font-size:17px;line-height:1.8}.product-category{font-size:14px;line-height:1.7}.product-category,.product-name{white-space:normal}
 #featuredProducts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.category-links{gap:10px}.category-links a{font-size:15px;min-height:44px}
 .brand-section{padding-top:42px}.brand-row,.brand-spotlight,.brand-spotlight-row{grid-template-columns:minmax(0,1fr);margin-bottom:26px}.brand-reverse .brand-visual,.brand-reverse .brand-copy{grid-column:auto;grid-row:auto}.brand-visual{min-height:260px}.brand-copy{padding:28px 22px}.brand-copy h3{font-size:37px}.brand-copy>p:not(.eyebrow){max-width:none;font-size:17px}
 .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.journal-picture{height:180px}.journal-card{min-width:0}.journal-card h3{font-size:28px}.journal-card>p:not(.eyebrow){font-size:17px}.journal-card .arrow-link{white-space:normal;display:inline-flex;min-height:44px;align-items:center}
 .story-section{grid-template-columns:minmax(0,1fr);margin-bottom:36px}.story-copy{padding:28px 24px}.story-copy h2{font-size:38px}.story-copy>p:not(.eyebrow){font-size:17px;max-width:none}.story-picture,.story-photo-empty{min-height:290px}.story-label{font-size:28px}
 .membership-invite{flex-direction:column;align-items:stretch;gap:18px;padding:26px;margin-bottom:42px}.membership-invite>.arrow-link{align-self:flex-start}.review-card{flex-basis:85%;padding:24px}.reviews-track{scroll-snap-type:x mandatory}.review-card{scroll-snap-align:start}
 .shop-footer{padding-top:38px}.footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:28px;padding-bottom:30px}.footer-map{grid-column:1/-1;grid-row:auto}.footer-updates{grid-column:1/-1}.footer-map-frame{height:240px}.footer-legal-row{flex-direction:column;align-items:flex-start;gap:16px;padding-block:20px}.footer-legal-row nav{flex-wrap:wrap;gap:12px 20px}.footer-legal-row a{font-size:15px;line-height:2}.footer-social{width:44px;height:44px}
 .catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:20px;margin:24px 0}.catalogue-filters>div:first-child{grid-column:1/-1}.catalogue-filters .catalogue-filter-actions{gap:16px;flex-wrap:wrap}.catalogue-filters label{font-size:16px}.catalogue-pagination{gap:12px;flex-wrap:wrap}.catalogue-pagination button{padding:12px}.catalogue-price-note{margin-top:0}
 .product-detail-grid,.product-detail-sections{grid-template-columns:minmax(0,1fr);gap:26px}.product-gallery-stage{height:340px}.product-summary{padding-top:0}.product-summary h1{font-size:38px}.product-page-actions{align-items:stretch}.product-page-actions .shop-button{width:100%}.product-detail-sections{margin-top:32px}.related-products{margin-top:40px}
 .article-page .page-title,.information-page .page-title{font-size:38px}.article-cover{height:280px}.article-lead{font-size:21px}.journal-layout-split,.layout-split-edit{grid-template-columns:minmax(0,1fr);gap:22px}.journal-layout-split.image-right .journal-layout-picture,.journal-layout-split.image-right .journal-layout-copy,.layout-split-edit.image-right .layout-image-pane,.layout-split-edit.image-right .layout-text-pane{grid-column:auto;grid-row:auto}.journal-layout-copy h2{font-size:33px}.story-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story-gallery img{height:180px}.story-video{max-height:400px}.layout-block-header{align-items:flex-start;flex-wrap:wrap}.layout-drag-handle{min-height:44px}.layout-photo-drop img{touch-action:pan-y}.layout-block-controls{gap:10px}
 .service-contact-grid{grid-template-columns:minmax(0,1fr);gap:18px}.service-panel{padding:24px}.service-map{height:260px;margin-bottom:35px}.service-faq summary{padding:18px}.service-faq p{padding:18px}.notice-contents{padding:22px}.notice-related,.notice-languages{gap:16px}.notice-contact{padding:22px}.notice-contact-actions,.information-actions{align-items:flex-start;flex-wrap:wrap;gap:18px}
 .page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header h1{font-size:31px}.page-header>div{min-width:0}.page-header p{line-height:1.7}.main-content .page-header{margin-bottom:24px}
 .stats-grid,.report-statistics-grid,.profile-statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-grid,.options-grid,.benefits-grid,.info-benefits,.shop-info-grid,.profile-info-grid,.member-voucher-details{grid-template-columns:minmax(0,1fr)}
 .website-management-intro,.website-management-shortcut{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}.website-editor-card{padding:22px;min-height:0}.website-editor-grid{gap:16px}.website-editor-card h2{font-size:22px}
 .banner-editor-toolbar{flex-direction:column;align-items:flex-start;padding:20px;gap:16px}.banner-editor-card,.post-panel,.feedback-card,.shop-info-panel{padding:20px}.banner-preview-panel,.feedback-preview{padding:20px}.feedback-grid,.innovation-editor .feedback-grid{display:grid;grid-template-columns:minmax(0,1fr)}.feedback-preview{position:static;max-height:none}.feedback-actions,.banner-save-actions,.post-actions,.info-actions,.shop-info-actions{align-items:stretch;gap:12px}.feedback-actions button,.banner-save-actions button,.info-actions button,.shop-info-actions button{flex:1 1 140px}
 .post-home-picker{align-items:stretch;flex-direction:column}.post-home-picker select{max-width:100%}.post-home-row{align-items:flex-start;flex-direction:column;gap:14px}.post-home-row .post-actions{width:100%}.post-home-row .post-actions>*{flex:1}.brand-preview-row{grid-template-columns:minmax(0,1fr)}
 .product-filters,.member-filters,.issued-voucher-filters,.report-controls,.report-filters,.report-actions,.pagination-controls{flex-wrap:wrap;gap:12px}.product-filters>*,.member-filters>*,.issued-voucher-filters>*{min-width:0;max-width:100%;flex:1 1 180px}
 [class$='table-wrapper'],.mobile-table-scroll{max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.mobile-table-scroll:focus-visible{outline:2px solid #9f3f8f;outline-offset:-2px}table{font-size:16px}th,td{padding:12px!important}table :is(button,a){min-height:44px}table button{white-space:nowrap}table{min-width:580px}.cart-table{min-width:480px}
 .modal-overlay,.voucher-modal-overlay,.member-profile-overlay{padding:12px;align-items:center}.modal,.voucher-modal,.member-profile-panel{width:100%;max-width:100%;max-height:calc(100dvh - 24px);overflow-y:auto}.modal-header,.modal-body{padding:20px}.modal-actions,.voucher-modal-actions,.member-dialog-buttons{flex-wrap:wrap;gap:12px}.modal-actions button,.voucher-modal-actions button,.member-dialog-buttons button{flex:1 1 130px}.form-row{grid-template-columns:minmax(0,1fr)}
 .member-profile-panel{padding:20px}.profile-header{top:-20px;margin:-20px -20px 22px;padding:20px;gap:14px}.profile-header h2{font-size:28px}.profile-tabs{display:flex;overflow-x:auto;max-width:100%;gap:10px}.profile-tabs button{flex-shrink:0}.profile-actions{flex-wrap:wrap}.product-image-upload{flex-wrap:wrap}
 .member-header{padding:16px 18px;flex-wrap:wrap}.member-brand{min-width:0}.member-brand strong{font-size:21px}.member-brand small{font-size:14px}.member-header-actions{width:100%;gap:12px}.member-header-actions button{flex:1;white-space:normal}.member-content{padding:28px 18px 40px}.member-overview{grid-template-columns:minmax(0,1fr);gap:18px}.member-section{padding:22px}.membership-card,.member-points{padding:24px}.membership-number{font-size:32px;overflow-wrap:anywhere}.points-total strong{font-size:49px}.member-section-heading{flex-wrap:wrap}.password-change-actions{flex-wrap:wrap}.password-change-actions button{flex:1 1 120px}
 .topbar{position:static;align-items:flex-start;flex-direction:column;gap:14px}.top-actions{width:100%;flex-wrap:wrap;gap:10px}.top-actions>.btn{flex:1}.topbar .brand{min-width:0}.topbar .brand-copy strong{white-space:normal}.cashier-grid,.two-col-history{grid-template-columns:minmax(0,1fr)}.cashier-grid .stack{min-width:0}.workspace{width:100%;padding:18px}.member-search{grid-template-columns:minmax(0,1fr)}.product-entry{grid-template-columns:minmax(0,1fr) 80px}.product-entry .btn{grid-column:1/-1}.sale-summary{grid-template-columns:minmax(0,1fr)}.card-head{flex-wrap:wrap;gap:10px}.history-pagination{flex-wrap:wrap}.voucher-item,.history-item{max-width:100%;overflow-wrap:anywhere}
 .login-page{padding:28px 18px}.login-card{padding:28px 24px}.login-brand{max-width:100%}.login-brand strong{font-size:22px}.login-brand .brand-mark{width:52px;height:52px}
}
@media(max-width:480px){
 .admin-shell>.main-content{padding:22px 16px}.admin-shell>.sidebar{padding:14px 16px}.sidebar .sidebar-logo{width:38px;height:38px}.sidebar .brand-text strong{font-size:18px}.sidebar .brand-text span{display:none}.sidebar .sidebar-nav{grid-template-columns:minmax(0,1fr)}
 .website-editor-grid,.stats-grid,.report-statistics-grid,.profile-statistics-grid{grid-template-columns:minmax(0,1fr)}.journal-grid{grid-template-columns:minmax(0,1fr)}.journal-picture{height:230px}.product-grid,#featuredProducts{gap:22px 12px}.product-image{padding:8px}.catalogue-filters{grid-template-columns:minmax(0,1fr)}.catalogue-filters>div{grid-column:auto}.catalogue-filters .catalogue-filter-actions{grid-column:1;flex-direction:column;align-items:stretch}.catalogue-filter-actions .text-button{align-self:center}.product-gallery-stage{height:290px}.product-thumbnails{gap:8px}.product-thumbnail{width:58px;height:58px}.product-specifications>div{grid-template-columns:minmax(0,1fr);gap:8px}.story-gallery{grid-template-columns:minmax(0,1fr)}.story-gallery img{height:240px}.footer-layout{column-gap:18px}.footer-layout h2{font-size:27px}.information-page .page-title{font-size:35px}.notice-related{font-size:15px}.notice-contents{padding:20px}.innovation-article .journal-layout-copy h2{font-size:33px}
 .report-date-range,.form-row,.info-form-grid{grid-template-columns:minmax(0,1fr)}.report-date-range{flex-direction:column;align-items:stretch}.profile-header{position:static}.profile-header-main{min-width:0}.profile-avatar{flex-shrink:0}.member-profile-name{font-size:27px}.product-image-upload{flex-direction:column;align-items:flex-start}.member-brand img{width:44px;height:44px}.member-brand strong{font-size:20px}.settings-options{flex-wrap:wrap}.settings-options button{flex:1 1 100px}.account-settings{padding:22px}.purchase-card,.points-history-card{padding:16px}.member-points .points-total{flex-wrap:wrap}.product-entry{grid-template-columns:minmax(0,1fr)}.product-entry .btn{grid-column:auto}.summary-row{gap:12px}.cashier-grid .card-body{padding:16px}
}
@media(max-width:1000px){.shop-info-grid,.featured-editor-grid,.info-benefit-editors{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 #brandRows{width:calc(100% - 36px);gap:32px}#brandRows .brand-row{grid-template-columns:minmax(0,1fr);gap:0}#brandRows .brand-visual{height:270px;min-height:270px}#brandRows .brand-copy{padding:26px 8px}#brandRows .brand-copy h3{font-size:38px}
 #articleContent{margin:30px auto 42px}#articleContent>.page-title{font-size:39px}.related-articles .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-result{flex-wrap:wrap}
 .report-field{min-width:0;width:100%}.report-field input,.report-field select{min-width:0;width:100%}.report-toolbar{flex-wrap:wrap;gap:16px}.report-statistics-grid{padding:16px}.info-benefit-editors{gap:18px}.shop-info-preview{position:static;max-height:none}.report-table-wrapper{min-width:0}
}
@media(max-width:480px){.related-articles .journal-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1000px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:20px}button:not(.dialog-close):not(.modal-close),select,input:not([type=checkbox]):not([type=radio]){min-height:44px}}
@media(pointer:coarse){.sidebar-link,.main-navigation>a,.main-navigation summary{min-height:44px}.product-thumbnail{min-width:44px;min-height:44px}}
@media(max-width:1100px){.main-header>.shop-brand{grid-column:1;grid-row:1}.main-header>.mobile-menu-toggle{grid-column:2;grid-row:1}}
@media(max-width:1100px){.main-navigation .category-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.main-navigation .nav-chevron{width:16px;height:16px}}

/* Larger reading type across public, member and management pages. */
body{font-size:19px;line-height:1.6}
input,select,textarea,button{font-family:inherit}
input,select,textarea{font-size:18px}
.main-navigation{flex-wrap:wrap;gap:14px}
.main-header{gap:22px}.header-search{flex:1 1 180px;max-width:240px}
.sidebar-link,.sidebar-bottom a{white-space:normal}
.product-name,.journal-card h3,.website-editor-card h2{overflow-wrap:anywhere}
@media(min-width:1101px) and (max-width:1450px){.shop-header .main-header{flex-wrap:wrap;padding-block:20px}.main-header .main-navigation{margin-left:auto}.main-header .header-search{max-width:220px}}
@media(max-width:760px){body{font-size:18px}input,select,textarea{font-size:18px!important}.footer-layout{grid-template-columns:minmax(0,1fr)}.footer-map,.footer-updates{grid-column:1}.summary-row{flex-wrap:wrap}.member-header-actions{flex-wrap:wrap}.login-card{width:100%;min-width:0}}
