/* LOTTOL mobile design contract. Loaded last on every page.
   Screen <= 760px only: desktop/print styles and all application behavior stay intact.
   Change role tokens here, never add page-specific numeric type scales.
   Product editorial image containers/dimensions are intentionally excluded. */
@media screen and (max-width:760px) {
  :root {
    --mobile-display:36px; --mobile-title:32px; --mobile-section:22px;
    --mobile-subtitle:18px; --mobile-item:16px; --mobile-body:14px;
    --mobile-meta:12px; --mobile-eyebrow:10px; --mobile-input:16px;
    --mobile-gutter:24px; --mobile-section-gap:48px; --mobile-block-gap:24px;
    --mobile-group-gap:16px; --mobile-action-gap:12px; --mobile-label-gap:8px;
    --mobile-control:48px; --mobile-touch:44px; --mobile-leading:1.9;
    --mobile-rule:1px solid var(--store-line); --mobile-field-line:#cbd4c6;
    --ui-title:var(--mobile-title); --ui-section:var(--mobile-section);
    --ui-body:var(--mobile-body); --ui-label:var(--mobile-body);
    --ui-meta:var(--mobile-meta); --ui-control:var(--mobile-control);
    --ui-section-gap:var(--mobile-section-gap); --ui-field-gap:var(--mobile-block-gap);
  }

  /* Shared frame. Photo-led product detail keeps its existing image frame. */
  body:is(.editorial-body,.support-body,.member-body,.shop-body,.product-detail) {font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body :is(.support-main,.commerce-main) {padding:var(--mobile-section-gap) var(--mobile-gutter)}
  body .shop-main {padding-inline:var(--mobile-gutter)}
  body .editorial-wrap {width:calc(100% - 2 * var(--mobile-gutter))}
  body :is(.login-layout,.signup-layout,.recovery-layout) {width:calc(100% - 2 * var(--mobile-gutter));margin:var(--mobile-section-gap) auto}
  body :is(.section-space,.solution-band,.silknery-section,.brand-declaration,.brand-promise) {padding-block:var(--mobile-section-gap)}
  body .store-footer {padding:var(--mobile-section-gap) var(--mobile-gutter) var(--mobile-block-gap);margin-top:var(--mobile-section-gap)}
  body:is(.member-body,.editorial-body) .store-footer {margin-top:0}
  body .store-footer-top {padding-bottom:var(--mobile-block-gap)}
  body .store-footer-top>.store-business {margin-top:var(--mobile-block-gap)}
  body .store-footer-bottom {padding-top:var(--mobile-block-gap);gap:var(--mobile-label-gap)}
  body :is(.store-business-info,.store-footer p,.store-footer-bottom) {font-size:var(--mobile-meta);line-height:var(--mobile-leading)}
  body .store-heading {height:76px}
  body .store-heading .store-logo img {width:166px}
  body .store-topbar .store-announcement {font-size:var(--mobile-eyebrow)}
  body .store-nav {padding-inline:var(--mobile-gutter)}
  body .store-nav .store-utilities {width:calc(100% + 2 * var(--mobile-gutter));margin-inline:calc(-1 * var(--mobile-gutter));padding-inline:var(--mobile-gutter)}
  body .store-header .store-nav :is(a,button),body .store-support>summary {font-size:var(--mobile-body);min-height:var(--mobile-control)}
  body .store-header .store-nav .store-utility {font-size:var(--mobile-meta)}
  body .store-header .store-nav .store-account-entry {font-size:var(--mobile-body)}

  /* Type roles, shared across marketing, shop, account and customer service. */
  body :is(.support-heading,.member-heading,.receipt-heading,.recovery-layout .member-heading) h1,
  body .purchase-info h1 {font-size:var(--mobile-title);font-weight:400;line-height:1.3;letter-spacing:-.04em;margin-bottom:var(--mobile-group-gap)}
  body :is(.home-hero h1,.brand-hero h1,.intro-copy h1,.english-title,.origin-name h2) {font-size:var(--mobile-display);font-weight:400;line-height:1.12;letter-spacing:-.03em}
  body :is(.layer-preview h3,.approach-name h3) {font-size:var(--mobile-title);font-weight:400;line-height:1.3}
  body :is(.korean-title,.editorial-end h2,.brand-declaration blockquote,.collection-story h2,
    .account-section-heading h2,.account-welcome h2,.member-heading h2,.member-section-heading h2,
    .member-form-section legend,.order-section h2,.order-summary h2,.cart-summary h2,.recovery-panel h2,
    .detail-section-heading h2,.detail-payment h2,.detail-aftercare-toggle h2,.detail-claim-box h3,
    .product-section-heading h2,.product-specs h2,.story-copy h2,
    .commerce-empty h3,.review-empty h3,.notice-access h2,.order-state h2,.member-complete h2,
    .store-dialog h2,.member-dialog h2,.purchase-dialog h2,.account-service-dialog h2,.notice-preview-dialog h2,.quick-copy h2,.notice-success h2,.detail-order-meta h2)
    {font-size:var(--mobile-section);font-weight:400;line-height:1.6;letter-spacing:-.04em}
  body :is(.hero-korean,.brand-hero>p,.feature-copy h3,.spaces-grid h3,.origin-copy h3,.origin-belief,
    .approach-copy h4,.approach-summary,.brand-promise p,.layer-preview strong,.detail-shipment-card h3,
    .detail-claim-history-card h3,.view-row h3,.space-row h3,.failure-reason h2)
    {font-size:var(--mobile-subtitle);font-weight:400;line-height:1.65}
  body :is(.account-order-name,.account-saved-card h3,.review-product h3,.product-card h3,
    .cart-line h2,.order-item h3,.detail-item h3,.support-entry-title,.terms-block h3,
    .product-care summary,.notice summary,.brand-palette h3,.silknery-details dt,.crr-reading dt)
    {font-size:var(--mobile-item);font-weight:500;line-height:1.65}
  body :is(.body-copy,.layer-preview p,.spaces-grid p,.feature-copy p,.intro-copy p,.collection-story p,
    .support-heading p,.member-heading p,.receipt-heading p,.account-welcome p,.account-order-sub,
    .account-saved-card p,.account-orders-note,p.account-profile-note,.account-check,.account-withdrawal p,
    .review-content,.review-editor-product,.review-delete-copy,.support-answer,.inquiry-intro,
    .inquiry-audience-context,.inquiry-audience-choice,.inquiry-audience legend,.support-consent label,
    .member-check,.member-complete>p,.recovery-intro,.recovery-result p,.order-note,.order-item p,
    .order-methods label,.order-check,.receipt-details p,.failure-reason p,.failure-note,
    .detail-item p,.detail-fields>div,.detail-shipment-card p,.detail-claim-history-card p,
    .detail-claim-note,.detail-empty-history,.purchase-description,.product-facts,.product-care,
    .story-copy p,.view-row figcaption>p,.space-row p,.section-heading>p,.size-info>div,.notice-body,
    .store-dialog p,.member-dialog p,.purchase-dialog p,.commerce-dialog #commerce-dialog-body,
    .origin-meaning,.silknery-details dd,.crr-reading dd,.crr-choice-note,.solution-patent,
    .cart-all,.cart-line-unit,.cart-summary-total dt,.detail-payment-foot p,.account-marketing legend,
    .service-note,.service-error,.service-history-copy,.service-summary-lines li,.withdrawal-notices,
    .field-error,.support-field-error,.purchase-error,.account-order-search-error,.notice-success p,
    .notice-preview-copy,.shipment-note,.shipment-feedback)
    {font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body :is(.support-eyebrow,.member-eyebrow,.editorial-label,.eyeline,.eyebrow,.detail-eyebrow,.product-series)
    {font-size:var(--mobile-eyebrow);line-height:1.8;letter-spacing:.15em}
  body :is(.field-help,.support-field-hint,.member-caption,.support-form-note,.support-field label small,
    .support-meta,.support-preview,.support-entry time,.support-entry-index,.faq-category,.inquiry-optional,
    .account-order-meta,.review-meta,.review-meta time,.review-product span,.review-photo-help,
    .review-photo-optional,.review-photo-count,.product-english,.card-bottom,.product-badge,
    .detail-order-meta p,.detail-item .detail-item-code,.detail-claim-date,.detail-claim-max,
    .cart-summary-note,.order-summary-note,.order-steps,.recovery-steps,.member-steps li,
    .purchase-option-help,.purchase-gift-help,.purchase-preview-note,.info-muted,.image-note,
    .catalog-heading>span,.results-bar>p,.terms-block .required-badge,.member-section-heading>span,
    .reference-label,.brand-panorama figcaption,.brand-palette p,.brand-palette li>span,
    .cart-line-english,.detail-section-heading p,.detail-aftercare-tools,.account-profile-note,
    .measurement-table caption,.measurement-table th,.purchase-original,.service-step-label,.shipment-reference,
    .layer-term,.approach-name>span:last-child)
    {font-size:var(--mobile-meta);line-height:1.75}

  /* Repeated spacing belongs to the role, never to a route. */
  body :is(.support-heading,.member-heading,.receipt-heading,.section-topline) {margin-bottom:var(--mobile-block-gap)}
  body :is(.account-section,.order-section,.detail-section) {margin-bottom:var(--mobile-section-gap)}
  body :is(.member-section-heading,.order-section>header,.product-section-heading,.section-heading) {margin-bottom:var(--mobile-block-gap)}
  body :is(.member-field,.support-field,.inquiry-intro,.inquiry-audience-context) {margin-bottom:var(--mobile-block-gap)}
  body :is(.member-field>label,.support-field>label,.account-order-search-label,.detail-claim-box label,.detail-claim-label)
    {font-size:var(--mobile-body);font-weight:500;line-height:1.75;margin-bottom:var(--mobile-label-gap)}
  body :is(.account-section-heading,.detail-section-heading) {padding-block:var(--mobile-group-gap);gap:var(--mobile-action-gap)}
  body :is(.account-order,.review-card,.cart-line) {padding-block:var(--mobile-block-gap);border-bottom:var(--mobile-rule)}
  body :is(.account-welcome,.cart-summary,.order-summary,.detail-claim-box,.detail-shipment-card,.failure-reason,.review-summary,.receipt-meta)
    {padding:var(--mobile-block-gap)}
  body .detail-payment {padding:var(--mobile-block-gap) var(--mobile-block-gap) 0;margin-block:var(--mobile-section-gap)}
  body :is(.home-intro,.home-feature,.brand-origin,.silknery-grid,.approach-rows>article) {gap:var(--mobile-block-gap)}
  body .approach-rows>article {padding-block:var(--mobile-block-gap)}
  body :is(.layer-preview,.spaces-grid) {row-gap:var(--mobile-section-gap)}
  body :is(.body-copy+.body-copy,.feature-copy h3,.approach-copy h4) {margin-top:var(--mobile-group-gap)}
  body .korean-title {margin-top:var(--mobile-group-gap)!important}
  body .section-topline>p {margin-top:var(--mobile-group-gap)}
  body :is(.feature-copy .english-title,.origin-copy h3) {margin-bottom:var(--mobile-block-gap)}
  body :is(.editorial-actions,.member-actions,.support-form-actions,.notice-editor-actions,
    .receipt-actions,.service-actions,.service-order-actions,.detail-page-actions,.detail-claim-buttons)
    {gap:var(--mobile-action-gap);margin-top:var(--mobile-block-gap)}

  /* Identical navigation height, rule and label size. Narrow rows scroll, never shrink type. */
  body :is(.support-tabs,.recovery-tabs,.category-tabs) {gap:var(--mobile-block-gap);border-bottom:var(--mobile-rule);margin-bottom:var(--mobile-block-gap)}
  body :is(.support-tabs,.recovery-tabs) a,body .category-tabs button,
  body .product-info-nav a {font-size:var(--mobile-body);font-weight:400;line-height:1.5;min-height:var(--mobile-control);padding-block:var(--mobile-action-gap)}
  body .account-tabs {display:flex;gap:var(--mobile-block-gap);overflow-x:auto;flex-wrap:nowrap}
  body .account-tabs a {flex:none;padding-inline:0;white-space:nowrap}
  body .account-tabs [aria-current=page]::after {left:0;right:0}
  body :is(.support-tabs,.recovery-tabs,.category-tabs) :is(a,button)[aria-current],
  body .category-tabs button.selected {font-weight:500}
  body .category-tabs button.selected::after {height:1px}
  body .product-info-nav a {border-bottom-width:1px}

  /* Inputs remain 16px to avoid iOS focus zoom. All other action labels use 14px. */
  body :is(.member-field input,.support-field input,.support-field select,.support-search input,
    .support-search select,.order-delivery-note select,.account-service-dialog select,.purchase-option-row select):not([type=checkbox]):not([type=radio]):not([type=hidden])
    {min-height:var(--mobile-control);height:var(--mobile-control);padding:12px 14px;font-size:var(--mobile-input);line-height:1.5;border-color:var(--mobile-field-line)}
  body :is(.support-field textarea,.support-main textarea,.account-service-dialog textarea)
    {font-size:var(--mobile-input);line-height:1.75;padding:12px 14px;border-color:var(--mobile-field-line)}
  body :is(.member-field input,.support-field input,.support-field textarea,.support-search input)::placeholder {font-size:var(--mobile-body)}
  body .password-wrap input {padding-right:65px}
  body :is(.support-button,.store-primary,.member-primary,.member-secondary,.editorial-button,
    .purchase-actions button,.purchase-dialog .purchase-buy,.account-order-search-actions button,.review-retry,.support-category)
    {min-height:var(--mobile-control);padding:12px 16px;font-size:var(--mobile-body)!important;line-height:1.5;border-radius:var(--ui-radius);box-sizing:border-box}
  body :is(.editorial-link,.text-link,.commerce-text-button,.detail-text-button,.review-account-link,
    .cart-continue,.member-back,.support-help,.size-option,.reset-button,.account-section-heading a,
    .account-section-heading .support-preview,.account-welcome a,.detail-aftercare-action,.cart-heading>a)
    {font-size:var(--mobile-body)!important;line-height:1.75;min-height:var(--mobile-touch)}
  body .purchase-actions {gap:var(--mobile-action-gap)}
  body.product-detail .purchase-actions button {padding:8px 4px}
  body :is(.member-actions,.support-form-actions) {grid-template-columns:repeat(2,minmax(0,1fr))}
  body .recovery-result .member-actions {grid-template-columns:1fr}
  body :is(.store-dialog,.member-dialog,.purchase-dialog,.account-service-dialog,.notice-preview-dialog)
    {padding:36px var(--mobile-gutter) var(--mobile-block-gap)}
  body :is(.terms-copy,.consent-copy,.support-privacy-copy) {padding:var(--mobile-group-gap);font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body :is(.terms-block>header,.terms-block>.member-check) {padding:var(--mobile-group-gap)}
  body :is(.commerce-empty,.review-empty,.support-empty,.notice-access,.order-state) {padding:var(--mobile-section-gap) var(--mobile-group-gap)}

  /* SHOP and account searches share the same underline, type and touch height. */
  body .search-box {gap:var(--mobile-label-gap);padding:0;border-bottom:var(--mobile-rule);min-width:0}
  body .search-box svg {width:17px;height:17px;flex-shrink:0}
  body .search-box input,body .support-main .account-order-search .search-box input
    {font-size:var(--mobile-input);height:var(--mobile-touch);min-height:var(--mobile-touch);width:100%;min-width:0;padding:0;border:0;background:transparent}
  body .search-box input::placeholder {font-size:var(--mobile-body)}
  body .sort-label select {font-size:var(--mobile-body);min-height:var(--mobile-touch);max-width:none}
  body .results-bar {flex-wrap:wrap;gap:var(--mobile-action-gap);padding-block:var(--mobile-block-gap)}
  body .results-controls {width:100%;gap:var(--mobile-group-gap);justify-content:space-between}
  body .results-controls .search-box {flex:1}
  body .account-order-search {gap:var(--mobile-group-gap);margin-bottom:var(--mobile-block-gap)}
  body .support-main .account-order-search input[type=date] {font-size:var(--mobile-input);height:var(--mobile-touch);min-height:var(--mobile-touch)}
  body .account-order-search-actions {gap:var(--mobile-action-gap)}
  body .account-order-search-actions button {width:auto}
  body .shop-main .shop-intro {padding-top:var(--mobile-section-gap);padding-bottom:var(--mobile-section-gap);gap:var(--mobile-block-gap)}
  body .catalog-heading {flex-wrap:wrap;gap:var(--mobile-label-gap);margin-bottom:var(--mobile-block-gap)}
  body .catalog-heading h2 {font-size:var(--mobile-title)}
  body .product-grid {gap:var(--mobile-section-gap) var(--mobile-group-gap)}
  body .product-series {margin-top:var(--mobile-group-gap)}
  body :is(.product-price,.account-order-price,.account-saved-price,.cart-line-total,.order-item strong,.detail-item .detail-item-amount) {font-size:var(--mobile-subtitle);line-height:1.65}
  body .collection-story {margin-top:var(--mobile-section-gap)}
  body .collection-story>div {padding:var(--mobile-block-gap)}

  /* HOME-only approved photo: close-up vase with a wide, lighter fade behind the actions. */
  body .home-hero--background {--hero-photo-height:clamp(240px,70vw,400px);display:block;min-height:0}
  body .home-hero--background::after {display:none}
  body .home-hero--background .home-hero-copy {padding:30px var(--mobile-gutter) var(--mobile-block-gap)}
  body .home-hero h1 {margin-top:18px}
  body .hero-korean {font-size:var(--mobile-subtitle);margin-top:20px!important}
  body .home-hero .body-copy {margin-top:10px}
  body .home-hero .editorial-actions {flex-wrap:wrap;gap:var(--mobile-group-gap);margin-top:var(--mobile-block-gap)}
  body .home-hero .editorial-button {gap:var(--mobile-group-gap)}
  body .home-hero .editorial-link {gap:var(--mobile-label-gap)}
  body .home-hero--background .home-hero-photo {position:relative;inset:auto;height:var(--hero-photo-height);margin-top:calc(-1 * var(--mobile-block-gap));aspect-ratio:auto;overflow:visible;z-index:0}
  body .home-hero--background .home-hero-photo-crop {display:block;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 32%);mask-image:linear-gradient(180deg,transparent 0%,#000 32%)}
  body .home-hero--background .home-hero-photo::before {content:"";position:absolute;inset:-128px 0 auto;height:192px;background-image:url("/jsp/home/images/lottol/home-design/home-hero-living.webp");background-size:100% 500%;background-position:69% 0%;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 50%,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 50%,#000 72%,transparent 100%);z-index:0}
  body .home-hero--background .home-hero-photo::after {content:"";position:absolute;inset:-128px 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#f7f4ee 0%,rgba(247,244,238,.585) 20%,rgba(247,244,238,.442) 40%,rgba(247,244,238,.1625) 65%,rgba(247,244,238,0) 80%)}
  body .home-hero--background .home-hero-photo img {position:absolute;inset:0;z-index:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:69% center;transform:scale(1.18);transform-origin:62% 87%}
  body .home-hero--background .home-hero-photo figcaption {position:absolute;inset:auto var(--mobile-gutter) var(--mobile-block-gap);z-index:2;padding:0;font-size:var(--mobile-eyebrow);color:var(--store-ink);text-shadow:0 1px 8px #fff;gap:var(--mobile-group-gap)}
  body .home-hero--background .home-hero-photo figcaption span:last-child {font-size:var(--mobile-meta)}
  body .home-intro {gap:var(--mobile-block-gap)}
  body .home-intro .editorial-link {margin-top:var(--mobile-block-gap)}
  body .brand-hero {padding-block:var(--mobile-section-gap)}
  body.editorial-body[data-page=brand] .crr-reading dd {font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body.editorial-body[data-page=brand] .crr-reading dt {font-size:var(--mobile-item)}
  body.editorial-body[data-page=brand] :is(.crr-reading dt span,.reference-label) {font-size:var(--mobile-meta)}
  body :is(.origin-acronym,.approach-question,.silknery-formula,.layer-number,.feature-caption span:first-child,.spaces-grid figcaption>span) {font-size:var(--mobile-section);line-height:1.5}

  /* Product image geometry is untouched; only its typography and controls share roles. */
  body.product-detail {--section-block:var(--mobile-section-gap);--title-content-gap:var(--mobile-block-gap)}
  body.product-detail .story {padding-top:var(--mobile-section-gap)}
  body .purchase-info {padding-top:var(--mobile-block-gap)}
  body .purchase-shell {padding-bottom:var(--mobile-section-gap)}
  body .order-section {padding-bottom:var(--mobile-block-gap)}
  body .detail-overview {margin-top:var(--mobile-block-gap)}
  body .detail-order-meta {padding-block:var(--mobile-block-gap)}
  body .purchase-description {font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body.product-detail .serif-title {font-size:var(--mobile-display)}
  body .purchase-english {font-size:var(--mobile-section)}
  body .purchase-eyebrow {font-size:var(--mobile-eyebrow);line-height:1.8}
  body :is(.purchase-option-row,.purchase-quantity-row) {padding-block:var(--mobile-block-gap)}
  body :is(.purchase-option-row label,.purchase-gift-row label,.purchase-memorial-row label,.purchase-quantity-row label) {font-size:var(--mobile-body)}
  body .purchase-option-row {gap:var(--mobile-label-gap)}
  body .purchase-gift-row {padding-bottom:var(--mobile-block-gap)}
  body :is(.purchase-option-row p,.purchase-gift-row p) {font-size:var(--mobile-meta);line-height:1.75}
  body :is(.purchase-sale>span:last-child,.purchase-total p>span) {font-size:var(--mobile-item)}
  body .measurement-table td {font-size:var(--mobile-section)}
  body .detail-status {font-size:var(--mobile-body)}
  body :is(#quick-description,#purchase-dialog-message,.quick-copy dl,.shipment-fields dd,.service-summary-lines li) {font-size:var(--mobile-body);line-height:var(--mobile-leading)}
  body :is(#quick-english,.complete-signature,.recovery-accounts) {font-size:var(--mobile-section)}
  body :is(.quick-price,.failure-amount strong,.account-status strong,.review-summary strong) {font-size:var(--mobile-title)}
  body :is(.purchase-sale strong,.purchase-total strong,.cart-summary-total dd,.order-grand-total dd,.detail-payment-total dd)
    {font-size:var(--mobile-title);line-height:1.4}
  body .detail-payment-amounts dd {font-size:var(--mobile-section)}
  body .detail-payment-total dd {font-size:var(--mobile-title)}
  body .detail-aftercare {margin-top:var(--mobile-section-gap)}
  body .detail-claim-box {--detail-claim-line:var(--mobile-field-line)}
  body :is(.detail-claim-box,.account-service-dialog) .support-field {font-size:var(--mobile-body);font-weight:500;line-height:1.75;margin-bottom:var(--mobile-block-gap)}
  body .detail-claim-box .detail-claim-label {font-size:var(--mobile-body);font-weight:500;line-height:1.75;margin-bottom:var(--mobile-label-gap)}
  body .account-service-dialog :is(select,textarea) {margin-top:var(--mobile-label-gap)}
  body .inquiry-audience-choices {gap:var(--mobile-label-gap) var(--mobile-group-gap)}
  body .inquiry-audience-choice {white-space:nowrap;min-height:var(--mobile-touch)}
}

/* Legacy JSP compatibility for the production /home decorator.
   The reference package uses store-* names, while the application keeps
   lottol-store-* names so its routes and authentication markup stay intact. */
.lottol-store-header,
.lottol-store-footer {
  font-family: var(--store-sans);
  color: var(--store-ink);
}

@media screen and (max-width:760px) {
  body {
    background: var(--store-bg);
  }

  body .lottol-container,
  body .lottol-home .editorial-wrap {
    width: calc(100% - 2 * var(--mobile-gutter));
  }

  body .lottol-store-header .header-heading {
    height: 76px;
  }

  body .lottol-store-header .lottol-brand {
    width: 166px;
    min-width: 166px;
  }

  body .lottol-store-header .mobile-nav-panel {
    top: 106px;
    width: 100%;
    max-height: calc(100dvh - 106px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 0 var(--mobile-group-gap);
    padding: var(--mobile-group-gap) var(--mobile-gutter) var(--mobile-block-gap);
    border-right: 0;
  }

  body .lottol-store-header .mobile-nav[open] .mobile-nav-backdrop {
    top: 106px;
  }

  body .lottol-store-header .mobile-nav-panel > a,
  body .lottol-store-header .mobile-nav-panel > strong {
    min-height: var(--mobile-control);
    padding: 0;
    font-size: var(--mobile-body);
  }

  body .lottol-store-header .mobile-nav-panel > strong,
  body .lottol-store-header .mobile-auth-actions {
    grid-column: 1 / -1;
  }

  body .lottol-store-header .mobile-auth-actions {
    margin: var(--mobile-group-gap) 0 0;
  }

  body .lottol-subpage-shell {
    min-height: calc(100vh - 106px);
  }

  body .lottol-store-footer {
    margin-top: var(--mobile-section-gap);
  }

  body .lottol-store-footer .footer-layout {
    padding-top: var(--mobile-section-gap);
    padding-bottom: var(--mobile-block-gap);
  }

  body .lottol-home + .lottol-store-footer {
    margin-top: 0;
  }
}
