/* Contact shortcut: below navigation and dialogs; never covers a mobile menu. */
.whatsapp-widget { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); z-index:35; }
.whatsapp-contact { display:inline-flex; align-items:center; gap:8px; padding:12px 17px; min-height:48px; background:#164b3b; color:white; border:1px solid #fff8; border-radius:28px; font:500 14px/1.2 Arial,sans-serif; text-decoration:none; box-shadow:0 2px 12px #0002; cursor:pointer; list-style:none; }
.whatsapp-contact::-webkit-details-marker { display:none; }
.whatsapp-contact svg { width:24px; height:24px; }
[data-catalog-category][hidden],[data-catalog-product][hidden] { display:none !important; }
[data-whatsapp][hidden],[data-whatsapp-choice][hidden],[data-whatsapp-close][hidden],.whatsapp-widget[hidden] { display:none !important; }
.whatsapp-contact:hover { background:#103a2d; }
.whatsapp-contact:focus-visible { outline:3px solid #9c703f; outline-offset:3px; }
body:has(.mobile-menu.open) .whatsapp-widget,body:has(dialog[open]) .whatsapp-widget,body:has(.consent-banner.show) .whatsapp-widget { display:none; }
.whatsapp-choices { position:absolute; right:0; bottom:calc(100% + 12px); width:min(300px,calc(100vw - 24px)); padding:8px; background:#fff; color:#24221f; border:1px solid #dedbd5; border-radius:6px; box-shadow:0 8px 30px #0002; }
.whatsapp-choices-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-left:12px; }
.whatsapp-choices-head h2 { margin:0; color:inherit; font:500 15px/1.4 Arial,sans-serif; letter-spacing:0; }
.whatsapp-choices-head button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:inherit; font:24px/1 Arial,sans-serif; cursor:pointer; }
.whatsapp-choices a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:14px 12px; border-top:1px solid #e9e6e0; color:inherit; font:400 16px/1.4 Arial,sans-serif; text-decoration:none; white-space:nowrap; }
.whatsapp-choices a:hover { background:#f5f4f0; }
.whatsapp-choices a:focus-visible,.whatsapp-choices button:focus-visible { outline:2px solid #164b3b; outline-offset:-2px; }
@media(max-width:760px) { .whatsapp-widget { right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); } .whatsapp-contact { width:48px; padding:11px; } .whatsapp-contact span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } }

/* A task-focused editor layered onto the existing authenticated workspace. */
.cms-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:16px; margin:0 0 24px; }
.cms-toolbar label { display:grid; gap:8px; font-size:13px; }
.cms-toolbar select,.cms-toolbar input { min-height:44px; }
.cms-toolbar label:first-child { flex:1; min-width:210px; }
.cms-editor-note { color:#59616d; line-height:1.65; margin:0 0 24px; }
.page-editor-fields label { display:block; margin-bottom:8px; }
.page-image-field img { object-fit:contain; background:#f4f2ed; }
.cms-field-note { font-size:12px; color:#59616d; line-height:1.6; margin:6px 0 0; }
.cms-product-summary { display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.cms-product-summary img { width:64px; height:72px; object-fit:contain; background:#f4f2ed; border-radius:4px; }
.cms-product-summary small { display:block; font-size:12px; font-weight:400; color:#59616d; margin-top:5px; }
.cms-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(135px,1fr)); gap:12px; margin:12px 0; }
.cms-form .form-field:has(.cms-gallery) { grid-column:1 / -1; }
.page-image-field { flex-wrap:wrap; }
.page-image-field > .admin-secondary { display:block; flex:1 1 220px; min-width:0; max-width:100%; }
.cms-form label.admin-secondary:has(input[type=file]) { display:block; min-width:0; max-width:100%; }
.page-image-field input[type=file],.cms-gallery-upload { display:block; padding:0; border:0; min-height:36px; font-size:12px; }
.page-image-field input[type=file],.cms-form input[type=file] { max-width:100%; width:100%; margin-top:10px; }
.page-image-field img { width:180px; height:120px; }
.cms-gallery figure { margin:0; padding:8px; background:#f4f2ed; border:1px solid #e3e5e8; border-radius:8px; }
.cms-gallery img { width:100%; height:140px; object-fit:contain; }
.cms-gallery figcaption { display:flex; gap:4px; flex-wrap:wrap; margin-top:8px; }
.cms-gallery .btn-mini { min-height:36px; }
.cms-form [readonly] { background:#f5f6f8; color:#59616d; }
.cms-item[hidden] { display:none; }
.cms-save-state { display:block; font-size:13px; color:#386342; margin-top:8px; }
.cms-top-actions { display:flex; gap:8px; flex-wrap:wrap; }
.admin-body button:disabled { cursor:wait; opacity:.55; }
.admin-body .admin-auth-card { margin-inline:auto; }
.admin-body .admin-auth-copy { margin-top:40px; }
.admin-body .admin-simple-settings { max-width:720px; }
.admin-body .admin-simple-settings label { display:block; margin-bottom:8px; }
.admin-body .admin-simple-settings > .admin-primary { width:auto; min-width:120px; }
.admin-body .admin-settings-details { border-top:1px solid #e5e5e5; margin:24px 0; padding-top:16px; }
.admin-body .admin-settings-details > summary { cursor:pointer; min-height:44px; font-size:14px; color:#525252; }
.admin-body .admin-settings-details .admin-form-grid { margin-top:16px; }
.admin-body .admin-settings-links { max-width:720px; margin-top:28px; }
.admin-body .admin-settings-links > a { display:inline-flex; align-items:center; min-height:44px; }
.admin-body .admin-extra-links { display:flex; flex-wrap:wrap; gap:8px 28px; }
.admin-body .admin-extra-links a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.admin-body .admin-create[hidden] { display:none; }
@media(max-width:760px) { .page-editor-save { flex-wrap:wrap; gap:10px; } .page-editor-save button { width:100%; min-height:44px; } .cms-reorder .btn-mini { min-width:36px; min-height:44px; } .cms-toolbar { align-items:stretch; } .cms-toolbar label { width:100%; } }
