/* Complete names and flexible navigation. */
.brand .brand-period{display:none!important}
.brand .brand-word{white-space:normal;text-overflow:clip;overflow:visible;overflow-wrap:anywhere;max-width:none;line-height:1.2}
.site-header .brand{max-width:310px;flex-shrink:1;min-width:0}
.brand-mark,.brand-period{flex-shrink:0}
.brand-with-logo .brand-word{text-align:center}
.site-header-inner{height:auto;min-height:100px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.main-nav{flex-wrap:wrap;justify-content:center;gap:18px}
.header-actions{flex-shrink:0}
.admin-sidebar .brand{width:100%;max-width:100%}
.admin-sidebar .brand-word{font-size:22px}
.admin-sidebar .sidebar-caption{margin-bottom:20px}
.admin-sidebar .sidebar-navigation{gap:4px;padding-bottom:12px}
.sidebar-navigation>.sidebar-link,.sidebar-group>summary.sidebar-link{padding:9px 12px;font-size:13px;line-height:1.5}
.admin-sidebar .sidebar-bottom{padding-top:12px}
.admin-sidebar .sidebar-bottom .sidebar-link{padding:9px 14px}
.admin-sidebar .sidebar-bottom p{margin:4px 0;padding:4px 14px}
.sidebar-group{min-width:0}
.sidebar-group>summary{list-style:none;cursor:pointer;user-select:none}
.sidebar-group>summary::-webkit-details-marker{display:none}
.sidebar-group>summary>span{flex:1;min-width:0}
.sidebar-group>summary .sidebar-chevron{width:auto;font-size:10px;transition:transform .15s}
.sidebar-group[open]>summary .sidebar-chevron{transform:rotate(180deg)}
.sidebar-group.has-current>summary{color:var(--primary-ink);font-weight:600}
.sidebar-submenu{margin:3px 0 7px 21px;padding-left:10px;border-left:1px solid var(--line)}
.sidebar-submenu .sidebar-link{font-size:12px;line-height:1.5;padding:6px 10px;margin:2px 0;overflow-wrap:anywhere}
.sidebar-navigation .sidebar-link:focus-visible{outline:2px solid var(--primary-ink);outline-offset:-2px}
.site-footer .brand{max-width:400px}
.footer-top>div{min-width:0}
.platform-name{display:inline-flex;align-items:center;gap:7px;white-space:normal;min-width:0;letter-spacing:normal;vertical-align:middle}
.platform-logo{display:inline-block;width:28px;height:28px;max-width:28px;object-fit:contain;flex-shrink:0;border-radius:4px}
.product-meta{gap:10px;flex-wrap:wrap}
.product-meta>span{min-width:0;overflow-wrap:anywhere}
.item-copy>.eyebrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.taxonomy-icon .platform-logo{width:26px;height:26px}

/* Edge-to-edge photos retain their original ratio without added canvas space. */
.product-grid .product-card .product-image-link{display:block;width:100%;max-width:none;height:auto;min-height:0;aspect-ratio:auto;flex-shrink:0;background:#fff;margin:0;padding:0;position:relative;border-radius:0}
.product-grid .product-card .product-image-link>img{display:block;position:static;inset:auto;width:100%;height:auto;aspect-ratio:auto;margin:0;padding:0;object-fit:contain;transform:none}
.home-editorial .product-card{flex-direction:column}
.home-editorial .product-body{width:100%}
.item-photo{align-self:start;justify-self:center;width:min(100%,400px);aspect-ratio:1;background:#fff}
.item-photo>img{aspect-ratio:1;width:100%;height:100%;object-fit:contain}
.table-product img{width:48px;height:48px;object-fit:contain;flex-shrink:0;background:#fff}
.home-editorial .product-body{padding:18px}
.home-editorial .product-card h3{font-size:17px}
.product-grid .product-card .type-badge{position:static;display:inline-flex;width:fit-content;height:auto;min-height:0;padding:1px 4px;line-height:1.3;font-size:9px;gap:3px;max-width:100%;background:#fffffff2;border:0;backdrop-filter:none}
.home-editorial .featured-badge{top:auto;bottom:10px}
.shopee-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;margin:20px 0}.shopee-result{padding:20px;min-width:0}.shopee-result>img{display:block;width:160px;height:160px;object-fit:contain;margin:0 auto 16px}.shopee-result h3{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.shopee-result form{margin-top:18px}.share-image-tools{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.share-image-tools p{font-size:13px;line-height:1.7}.share-image-tools [hidden]{display:none!important}
.editorial-hero{padding-top:12px;gap:16px 32px}
.editorial-heading h1{font-size:clamp(30px,3.2vw,44px);letter-spacing:-1.4px;line-height:1.14;margin:12px 0 0}
.editorial-intro p{font-size:13px;margin:0 0 12px;line-height:1.7}
.editorial-star{display:none}
.editorial-image>img{height:190px}
.editorial-caption{padding:16px 22px}
.editorial-caption strong{font-size:16px}
.editorial-categories{padding:10px 0;margin-bottom:18px;gap:0 20px}
.editorial-categories a{padding:8px 0}
.coupon-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.coupon-report-section{margin-top:24px}
@media(max-width:767px){.item-photo{max-width:300px}.coupon-stats{grid-template-columns:1fr}}
@media(max-width:575px){
 .editorial-hero{padding-top:4px;gap:14px}
 .editorial-heading h1{font-size:30px;letter-spacing:-1px;margin-top:10px}
 .editorial-image>img{height:150px}
 .editorial-caption strong{font-size:14px}
 .home-editorial .product-body{padding:18px}
 .home-editorial .product-card h3{font-size:18px}
}

/* Compact catalog cards, with readable store branding and restrained offer motion. */
.product-grid .product-card{display:flex;flex-direction:column;position:relative;height:auto}
.product-grid .product-card-labels{position:absolute;top:10px;left:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;min-height:0;pointer-events:none}
.product-grid .product-card-labels .featured-badge{position:static;inset:auto;padding:2px 5px;font-size:9px;line-height:1.3;width:fit-content;max-width:70%}
.product-grid .product-card .product-body{width:100%;padding:10px 14px 14px;display:flex;flex-direction:column;flex:1}
.product-grid .product-card .product-meta{margin:0 0 8px;gap:6px;flex-wrap:nowrap}
.product-grid .product-card .product-meta>span:first-child{font-size:9px;letter-spacing:.5px;flex:1}
.product-grid .product-card .platform-name{gap:7px;padding:3px 8px 3px 4px;background:var(--primary-soft);border:1px solid var(--primary-border);border-radius:9px;font-size:12px;font-weight:650;color:var(--primary-ink);max-width:62%;flex-shrink:0}
.product-grid .product-card .platform-logo{width:48px;height:48px;max-width:48px;background:#fff;border-radius:6px}
.product-grid .product-card h3{font-size:16px;line-height:1.35;letter-spacing:-.3px;min-height:0;margin:0 0 5px}
.product-grid .product-card .product-description{display:none}
.product-grid .product-card .item-flags{gap:5px;margin:3px 0 5px}
.product-grid .product-card .item-flag{font-size:10px;line-height:1.4;padding:2px 6px}
.product-grid .product-card .product-price{min-height:0;margin:8px 0;align-items:center}
.product-grid .product-card .product-price strong{font-size:23px;line-height:1.2}
.product-grid .product-card .price-caption{font-size:10px;line-height:1.3}
.product-grid .product-card .item-validity{font-size:10px;line-height:1.4;margin:0 0 8px}
.product-grid .product-card .product-cta{min-height:40px;font-size:12px;margin-top:auto}
.product-grid .item-flag>i{transform-origin:center}
@media(prefers-reduced-motion:no-preference){
 .product-grid .flag-mais_vendido>i{animation:offer-warmth 3.8s ease-in-out infinite}
 .product-grid .flag-promocao{animation:offer-glow 4.8s ease-in-out infinite}
 .product-grid .flag-esgotando>i{animation:offer-tilt 5s ease-in-out infinite}
 .product-grid :is(.flag-novo,.flag-exclusivo,.flag-recomendado)>i{animation:offer-warmth 4.5s ease-in-out infinite}
}
@keyframes offer-warmth{0%,65%,100%{transform:scale(1)}75%{transform:scale(1.18)}85%{transform:scale(1)}}
@keyframes offer-tilt{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-12deg)}86%{transform:rotate(12deg)}94%{transform:rotate(0)}}
@keyframes offer-glow{0%,65%,100%{box-shadow:0 0 0 0 transparent}80%{box-shadow:0 0 0 3px var(--primary-soft)}}

/* All categories remain visible without a horizontal scrolling strip. */
.category-tabs{flex-wrap:wrap;overflow:visible;margin-right:0;padding-right:0;gap:8px}
.category-tab{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
.storefront-categories,.editorial-categories{max-width:100%;min-width:0}

/* Responsive tables: compact normal tables in large panels, labeled rows in smaller ones. */
.admin-main,.admin-shell,.panel,.form-grid>*,.taxonomy-layout>*,.content-settings-grid>*{min-width:0}
.table-wrap,.chart-details{overflow:visible;container-type:inline-size}
.data-table{white-space:normal;table-layout:fixed;width:100%}
.data-table th,.data-table td{overflow-wrap:anywhere;white-space:normal;padding:14px 12px}
.data-table td small{display:block;font-size:11px;margin-top:5px}
.table-product{min-width:0;align-items:flex-start}
.table-product>div{min-width:0}
.table-product strong{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.table-actions{flex-wrap:wrap;gap:6px}
.table-actions .button{font-size:12px;padding:8px 10px}
.table-actions .icon-button{width:36px;height:36px}
.table-select-all{display:flex;align-items:center;gap:10px;padding:16px;font-size:13px;border-bottom:1px solid var(--line)}
.table-select-all input{width:18px;height:18px;accent-color:var(--green)}
.collection-links-list{flex-wrap:wrap;overflow:visible}
.collection-links-list a{white-space:normal;overflow-wrap:anywhere;max-width:100%}
@container (max-width:1100px){
  .responsive-table{display:block;table-layout:auto}
  .responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .responsive-table tbody{display:block;padding:12px}
  .responsive-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:18px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .responsive-table tbody tr:last-child{margin-bottom:0}
  .responsive-table td{display:block;padding:0;border:0;max-width:none;min-width:0}
  .responsive-table td::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}
  .responsive-table td:last-child,.responsive-table td[colspan]{grid-column:1/-1}
  .responsive-table td[colspan]::before{display:none}
  .item-table tbody tr{grid-template-columns:24px repeat(3,minmax(0,1fr));gap:14px}
  .item-table td:first-child:not([colspan]){grid-column:1;grid-row:1/span 6}
  .item-table td:first-child::before{display:none}
  .item-table td:nth-child(2),.item-table td:last-child:not([colspan]){grid-column:2/-1}
}
@container (max-width:420px){.responsive-table tbody tr{grid-template-columns:minmax(0,1fr);padding:14px}.responsive-table td:last-child{grid-column:auto}.item-table tbody tr{grid-template-columns:20px repeat(2,minmax(0,1fr));gap:14px 10px}.item-table td:last-child:not([colspan]){grid-column:2/-1}}
.coupon-page{padding-top:42px;padding-bottom:60px}
.coupon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.coupon-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px;overflow-wrap:anywhere}
.coupon-card h2{font-size:23px;line-height:1.3}
.coupon-card p{font-size:14px;color:var(--muted);white-space:normal}
.coupon-card .button{margin-top:auto}
.coupon-detail{max-width:720px;padding:32px;margin:24px auto;overflow-wrap:anywhere}
.coupon-detail h1{font-size:32px;line-height:1.25;margin:20px 0}
.coupon-conditions{white-space:normal;margin-bottom:24px}
.redeem-steps{padding-left:24px;margin:24px 0}
.redeem-steps li{margin-bottom:10px}
.coupon-details-link{font-size:12px;display:inline-block;margin-top:10px}
.content-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.about-body{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.help-intro{padding:28px;margin-bottom:24px}
.help-intro h2{margin-bottom:16px}
.help-intro ol{padding-left:24px}
.help-intro li{margin-bottom:8px}
.help-intro p{margin-top:18px;color:var(--muted)}
.help-sections{display:grid;gap:12px}
.help-section summary{cursor:pointer;font-weight:700;padding:20px 24px}
.help-section>div{padding:0 24px 24px;line-height:1.9}
.help-section .text-link{display:inline-block;margin-top:16px}
.promo-popup{border:0;border-radius:18px;padding:0;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:#fff;box-shadow:0 24px 80px #0004}
.promo-popup::backdrop{background:#10251ec4}
.popup-close{position:absolute;right:12px;top:12px;z-index:1;background:white!important;color:#172c23!important;box-shadow:0 2px 10px #0002;border-radius:50%}
.popup-image{display:block;width:100%;max-height:40dvh;object-fit:contain;background:var(--canvas)}
.popup-copy{padding:28px;overflow-wrap:anywhere}
.popup-copy h2{font-size:28px;line-height:1.2;margin-bottom:14px}
.popup-copy p{margin-bottom:24px;line-height:1.7}
.popup-copy .button{white-space:normal}
@media(max-width:1199px){.main-nav{gap:12px}.content-settings-grid{grid-template-columns:1fr}.site-header .brand{max-width:260px}.coupon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  .site-header .brand{max-width:calc(100% - 116px)}
  .site-header-inner{position:relative;gap:12px;min-height:96px}
  .site-header .brand-word{font-size:24px}
  .main-nav{width:100%;order:3;position:static;flex-direction:column;align-items:stretch;flex-basis:100%;padding:14px 0}
  .site-header:not(.menu-open) .main-nav{display:none}
  .site-header.menu-open .main-nav{display:flex}
  .header-actions{margin-left:auto}
  .admin-heading,.admin-heading-actions,.admin-filters,.bulk-controls,.form-actions{flex-wrap:wrap}
  .admin-topbar{height:auto;min-height:81px;gap:12px;padding-top:12px;padding-bottom:12px}
  .admin-breadcrumb{min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
  .admin-user{min-width:0}
  .admin-user>div{overflow-wrap:anywhere}
  .category-tabs{gap:7px}
  .category-tab{flex:1 1 auto;font-size:12px}
  .coupon-grid{grid-template-columns:1fr}
  .coupon-detail{padding:22px}
  .coupon-detail h1{font-size:26px}
  .popup-copy{padding:22px}
  .footer-top{gap:24px}
}

/* Clear requirements, including conditional fields. */
.field-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px}
.field-requirement{font-size:10px;font-weight:600;color:#80502c;letter-spacing:.1px}
.field-requirement::before{content:'•';margin-right:5px}
.promo-popup:not(:has(.popup-image)) .popup-copy{padding-top:60px}
/* Redeemable tickets: a paper body and a perforated code stub. */
.home-coupons{margin:36px 0 48px;min-width:0}
.home-coupons .section-heading{align-items:center;flex-wrap:wrap}
.home-coupons .text-link{font-size:12px}
.coupon-ticket{display:flex;flex-direction:column;min-width:0;background:#fffdf6;border:1px solid #dbdfce;border-radius:14px;box-shadow:0 3px 0 #e8ecdf;color:var(--ink);position:relative}
.ticket-main{padding:21px 23px 19px;flex:1;min-width:0}
.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}
.ticket-top .platform-brand{font-size:12px}
.ticket-label{display:inline-block;color:var(--green);font-size:9px;font-weight:800;letter-spacing:1.6px;border:1px solid #bdc9a9;border-radius:4px;padding:3px 7px;flex-shrink:0}
.coupon-ticket h2,.coupon-ticket h3{font-size:19px;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.4px}
.ticket-description{font-size:13px;line-height:1.65;margin-top:12px;color:#58614e;overflow-wrap:anywhere}
.ticket-validity{font-size:10px;line-height:1.5;color:#626b59;margin-top:14px}
.ticket-stub{position:relative;border-top:2px dashed #b8c7a3;background:#f0f5e5;padding:15px 23px 18px;border-radius:0 0 14px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ticket-stub::before,.ticket-stub::after{content:'';position:absolute;top:-9px;width:16px;height:16px;border:1px solid #dbdfce;background:var(--canvas);border-radius:50%}
.ticket-stub::before{left:-9px;border-left-color:transparent}.ticket-stub::after{right:-9px;border-right-color:transparent}
.ticket-code-label{font-size:8px;font-weight:700;letter-spacing:1.8px;color:#637553}
.ticket-code{font-family:ui-monospace,Consolas,monospace;font-size:22px;letter-spacing:1.4px;line-height:1.4;overflow-wrap:anywhere;max-width:100%;color:var(--green)}
.ticket-redeem{font-size:12px;font-weight:700;color:var(--green);display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding-top:8px;min-height:35px}
.ticket-redeem:hover{text-decoration:underline;text-underline-offset:4px}
.coupon-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:9px;padding:6px 9px 12px;scrollbar-width:thin;scrollbar-color:#b5c4a0 transparent}
.coupon-ticket-compact{flex:0 0 278px;scroll-snap-align:start}
.coupon-ticket-compact .ticket-main{padding:17px 20px 15px}
.coupon-ticket-compact h3{font-size:17px}
.coupon-ticket-compact .ticket-stub{padding:12px 20px 14px}
.coupon-ticket-compact .ticket-top{margin-bottom:13px}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin:7px 9px 0;color:#657158;font-size:11px}
.carousel-controls[hidden]{display:none}.carousel-controls>div{display:flex;gap:8px}
.carousel-controls .icon-button{border:1px solid #ccd6bf;background:#fff;width:36px;height:36px;font-size:13px}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.coupon-redemption{border:1px solid #d9dfcb;background:#fffdf6;box-shadow:0 4px 0 #e8ecdf}
.coupon-redemption>.ticket-label{display:table;margin-bottom:22px}
.coupon-redemption .item-coupon{border:2px dashed #b3c698;background:#f0f5e5;border-radius:10px;padding:22px;margin:26px 0;position:relative}
.coupon-redemption .coupon-controls input{font-size:24px;font-family:ui-monospace,Consolas,monospace}
.coupon-redemption .coupon-conditions{overflow-wrap:anywhere}
/* A non-modal consent banner leaves the catalog usable before a choice. */
.cookie-banner{position:fixed;z-index:80;bottom:20px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 40px));display:flex;align-items:center;gap:28px;padding:24px 28px;background:#fff;border:1px solid #d4decb;border-radius:16px;box-shadow:0 10px 60px #162c2630;max-height:80dvh;overflow-y:auto}
.cookie-banner-copy{display:flex;gap:17px;align-items:flex-start;flex:1;min-width:0}
.cookie-icon{background:#eef3e5;border-radius:12px;padding:12px;color:var(--green);line-height:1;font-size:21px}
.cookie-banner h2{font-size:17px;margin:0 0 7px}
.cookie-banner p{font-size:12px;color:#596552;line-height:1.65;max-width:650px}
.cookie-banner .text-link{font-size:11px;margin-top:6px;display:inline-block;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.cookie-banner .cookie-actions{margin:0;flex:0 0 200px;flex-direction:column}
.cookie-actions .button{white-space:normal;min-height:44px;line-height:1.4;font-size:12px;flex:1}
body:has(.cookie-banner){padding-bottom:210px}
@media(max-width:700px){
 .home-coupons .section-heading h2{font-size:23px}.home-coupons{margin:24px 0 35px}
 .coupon-ticket-compact{flex-basis:min(278px,85%)}
 .cookie-banner{bottom:10px;width:calc(100% - 20px);padding:18px;gap:14px;flex-direction:column;align-items:stretch}
 .cookie-banner-copy{gap:11px}.cookie-icon{font-size:17px;padding:10px}
 .cookie-banner h2{font-size:15px}.cookie-banner p{font-size:11px}
 .cookie-banner .cookie-actions{flex:0 0 auto;flex-direction:row;gap:8px}
 .cookie-banner .button{padding:10px 8px;font-size:11px}
 body:has(.cookie-banner){padding-bottom:280px}
 .coupon-redemption .item-coupon{padding:14px}
 .coupon-redemption .coupon-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .coupon-redemption .coupon-controls input{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){.coupon-carousel{scroll-behavior:auto}}
