/* Logoland storefront redesign — editorial merchandising with the supplied blue/coral identity. */
:root { --ll-ink:#172944; --ll-blue:#1355b5; --ll-blue-deep:#102c58; --ll-coral:#ed6d5d; --ll-cream:#f7f5f0; --ll-line:#e4e8ed; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { color:var(--ll-ink); }
button,input { font:inherit; }
:focus-visible { outline:3px solid #f2a23a; outline-offset:3px; }
.ll-skip-link:focus { position:fixed; top:8px; left:8px; z-index:999; width:auto; height:auto; clip:auto; padding:10px 15px; background:#fff; color:var(--ll-ink); }
.top-bar { background:var(--ll-blue-deep); padding:.46rem 0; font-size:.7rem; font-weight:600; letter-spacing:.12em; }
.ll-top-inner { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.ll-top-inner a { color:#fff; letter-spacing:0; text-transform:none; }
.site-header { border-color:var(--ll-line); box-shadow:none; }
.header-inner { min-height:84px; padding:0; gap:1.6rem; }
.site-logo { flex:none; display:flex; align-items:center; }
.site-logo img { display:block; width:185px; max-width:100%; height:auto; }
.main-nav { gap:1.75rem; }
.main-nav a { font-size:.91rem; font-weight:600; color:var(--ll-ink); white-space:nowrap; }
.main-nav a[aria-current="page"],.main-nav a:hover { color:var(--ll-blue); }
.header-actions { gap:1rem; }
.search-box { display:flex; align-items:center; }
.search-box input { width:170px; height:37px; padding:.5rem 2.1rem .5rem .8rem; background:#f7f8fa; border-radius:5px; font-size:.78rem; }
.search-box button { position:absolute; right:.35rem; top:50%; transform:translateY(-50%); border:0; background:transparent; color:var(--ll-blue); font-size:1.4rem; line-height:1; cursor:pointer; }
.ll-cart-link { position:relative; font-weight:700; font-size:.86rem; white-space:nowrap; }
.mobile-toggle { width:42px; height:42px; border:1px solid var(--ll-line); border-radius:6px; }
.mobile-toggle span { display:block; width:19px; height:2px; margin:4px auto; background:var(--ll-ink); }
.mobile-menu a { font-size:1rem; border-bottom:1px solid var(--ll-line); }
.mobile-menu .search-box { margin-top:1rem; max-width:350px; }
.mobile-menu .search-box input { width:100%; }
.ll-home h1,.ll-home h2,.ll-home h3,.ll-detail h1,.ll-detail h2,.ll-detail h3 { letter-spacing:-.035em; }
.ll-section { padding:75px 0; }
.ll-eyebrow { color:var(--ll-blue); font-size:.68rem; font-weight:800; letter-spacing:.18em; }
.ll-eyebrow-light { color:#bcd6ff; }
.ll-section-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:29px; }
.ll-section-heading h2 { font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.16; margin:.58rem 0 .45rem; color:var(--ll-ink); }
.ll-section-heading p { color:#637083; font-size:.93rem; }
.ll-text-link { flex:none; color:var(--ll-blue); font-size:.9rem; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.ll-text-link:hover { color:var(--ll-coral); }
.ll-hero { min-height:510px; position:relative; overflow:hidden; background:var(--ll-blue-deep); color:white; }
.ll-hero-image { position:absolute; inset:0 0 0 43%; background-size:cover; background-position:center; }
.ll-hero:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#102c58 0%,#102c58 35%,rgba(16,44,88,.84) 52%,rgba(16,44,88,.12) 100%); }
.ll-hero-inner { position:relative; z-index:2; display:flex; align-items:center; min-height:510px; }
.ll-hero-copy { max-width:650px; padding:2.5rem 0 4rem; }
.ll-hero h1 { color:white; font-size:clamp(3rem,5.7vw,5.2rem); line-height:1.03; margin:1.35rem 0 1.3rem; }
.ll-hero h1 em { color:#ffbfae; font-style:normal; }
.ll-hero-copy p { max-width:490px; line-height:1.7; color:#e5edf9; font-size:1.07rem; }
.ll-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.ll-button { display:inline-flex; justify-content:center; align-items:center; gap:1.4rem; min-height:49px; border-radius:4px; padding:.72rem 1.35rem; font-weight:700; font-size:.9rem; transition:transform .2s,background-color .2s,color .2s; }
.ll-button:hover { transform:translateY(-2px); }
.ll-button-light { background:white; color:var(--ll-blue-deep); }
.ll-button-light:hover { color:var(--ll-blue); }
.ll-button-outline { border:1px solid #acc3e1; color:white; }
.ll-button-outline:hover { background:rgba(255,255,255,.12); color:white; }
.ll-hero-caption { position:absolute; bottom:24px; right:2rem; font-size:.74rem; letter-spacing:.09em; text-transform:uppercase; color:#fff; }
.ll-value-bar { border-bottom:1px solid var(--ll-line); background:#fff; }
.ll-value-inner { display:grid; grid-template-columns:repeat(3,1fr); }
.ll-value-inner span { padding:1.18rem 1.2rem; font-size:.82rem; font-weight:600; text-align:center; border-right:1px solid var(--ll-line); }
.ll-value-inner span:first-child { border-left:1px solid var(--ll-line); }
.ll-value-inner strong { color:var(--ll-coral); margin-right:.7rem; letter-spacing:.06em; }
.ll-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:15px; }
.ll-category-tile { border:1px solid var(--ll-line); background:#fff; overflow:hidden; border-radius:6px; transition:box-shadow .2s,transform .2s; }
.ll-category-tile:hover { box-shadow:0 12px 30px rgba(14,40,70,.12); transform:translateY(-3px); }
.ll-category-image { aspect-ratio:1.04; overflow:hidden; background:var(--ll-cream); }
.ll-category-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.ll-category-tile:hover img { transform:scale(1.05); }
.ll-category-bottom { min-height:70px; display:flex; align-items:center; justify-content:space-between; padding:12px 14px; font-weight:700; line-height:1.3; font-size:.93rem; }
.ll-category-bottom span:last-child { color:var(--ll-blue); font-size:1.3rem; }
.ll-seasonal { background:var(--ll-cream); }
.ll-season-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ll-season-card { position:relative; min-height:330px; border-radius:6px; overflow:hidden; background:var(--ll-blue-deep); color:#fff; isolation:isolate; }
.ll-season-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.ll-season-card:hover img { transform:scale(1.05); }
.ll-season-card:before { content:""; z-index:1; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,28,54,.87),rgba(10,28,54,.35) 58%,rgba(10,28,54,.03)); }
.ll-season-content { position:absolute; z-index:2; bottom:0; left:0; right:0; padding:25px; }
.ll-season-kicker { font-size:.65rem; letter-spacing:.15em; font-weight:800; color:#cbd9ee; }
.ll-season-content h3 { font-size:1.85rem; line-height:1.1; margin:.5rem 0; }
.ll-season-content p { color:#fff; font-size:.9rem; margin-bottom:1.25rem; }
.ll-season-action { display:inline-flex; gap:.6rem; align-items:center; border-bottom:1px solid white; font-size:.8rem; font-weight:700; padding-bottom:3px; }
.ll-season-card:hover { color:#fff; }
.ll-product-section-alt { background:#f7f9fc; }
.ll-products-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.ll-product-card { min-width:0; border:1px solid var(--ll-line); border-radius:6px; overflow:hidden; background:white; transition:box-shadow .2s,transform .2s; }
.ll-product-card:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(15,43,84,.1); }
.ll-product-image { display:block; aspect-ratio:1/1; padding:.7rem; background:#fafbfc; }
.ll-product-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.ll-product-info { padding:14px 15px 15px; border-top:1px solid var(--ll-line); }
.ll-product-info h3 { font-size:.95rem; line-height:1.35; min-height:2.55em; font-weight:650; }
.ll-product-info h3 a:hover { color:var(--ll-blue); }
.ll-product-meta { display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding-top:12px; margin-top:12px; border-top:1px solid #eef0f4; color:var(--ll-blue); font-size:.88rem; font-weight:700; }
.ll-product-arrow { border:1px solid var(--ll-line); border-radius:50%; flex:none; width:29px; height:29px; text-align:center; line-height:27px; }
.ll-catalog-note { color:#637083; font-size:.83rem; margin-top:1.2rem; }
.ll-empty { padding:2rem; background:#f7f9fc; }
.ll-why { background:#eef4fd; }
.ll-why-layout { display:grid; grid-template-columns:.95fr 1fr; gap:clamp(2rem,8vw,8rem); align-items:start; }
.ll-why-lead h2 { font-size:clamp(2.2rem,4.2vw,3.7rem); line-height:1.13; margin:1rem 0 1.2rem; }
.ll-why-lead p { color:#526681; line-height:1.8; max-width:530px; margin-bottom:1.7rem; }
.ll-why-points article { display:flex; gap:1.3rem; padding:1.3rem 0; border-bottom:1px solid #cbd8e7; }
.ll-why-points article:first-child { border-top:1px solid #cbd8e7; }
.ll-why-points article>span { color:var(--ll-coral); font-size:.76rem; font-weight:800; margin-top:.3rem; white-space:nowrap; }
.ll-why-points h3 { font-size:1.25rem; margin-bottom:.35rem; }
.ll-why-points p { color:#526681; font-size:.9rem; line-height:1.65; }
.ll-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ll-process-grid>div { padding:1.55rem 1.2rem; border-top:2px solid var(--ll-blue); background:#f7f9fc; }
.ll-process-grid span { color:var(--ll-coral); font-weight:800; font-size:.8rem; }
.ll-process-grid h3 { margin:1.1rem 0 .4rem; font-size:1.25rem; }
.ll-process-grid p { color:#637083; font-size:.88rem; }
.ll-contact { background:var(--ll-blue-deep); color:#fff; }
.ll-contact-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.ll-contact h2 { color:white; font-size:clamp(2rem,3.3vw,3rem); margin:.5rem 0; }
.ll-contact p { color:#d6e1f1; }
.site-footer { background:#f5f7fb; border-color:var(--ll-line); }
/* Product detail */
.ll-detail { background:#f9fafc; }
.ll-crumb { background:white; border-bottom:1px solid var(--ll-line); padding:.9rem 0; }
.ll-crumb .container { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; font-size:.77rem; color:#6a778b; }
.ll-crumb a:hover { color:var(--ll-blue); }
.ll-crumb span:last-child { color:var(--ll-ink); }
.ll-detail-body { padding-top:40px; padding-bottom:80px; }
.ll-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,4vw,4.5rem); align-items:start; }
.ll-gallery-main { aspect-ratio:1; position:relative; background:white; border:1px solid var(--ll-line); border-radius:8px; overflow:hidden; }
.ll-gallery-main>img { width:100%; height:100%; object-fit:contain; }
.ll-logo-preview { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }
.ll-logo-preview[hidden] { display:none; }
.ll-logo-preview img { max-width:35%; max-height:35%; object-fit:contain; opacity:.85; }
.ll-sale-label { position:absolute; top:16px; left:16px; padding:5px 11px; background:var(--ll-coral); color:white; font-size:.7rem; font-weight:800; border-radius:3px; }
.ll-gallery-thumbs { display:flex; gap:.55rem; overflow:auto; padding:1rem 0; }
.ll-gallery-thumb { width:72px; height:72px; flex:none; padding:3px; background:white; border:1px solid var(--ll-line); border-radius:5px; cursor:pointer; }
.ll-gallery-thumb.selected { border:2px solid var(--ll-blue); }
.ll-gallery-thumb img { width:100%; height:100%; object-fit:contain; }
.ll-detail-panel { background:white; border:1px solid var(--ll-line); border-radius:7px; margin-top:18px; overflow:hidden; }
.ll-panel-heading { display:flex; align-items:center; gap:13px; padding:17px 20px; border-bottom:1px solid var(--ll-line); }
.ll-panel-heading h2 { font-size:1rem; margin:0; }
.ll-panel-heading h2 small { color:#738095; font-weight:400; letter-spacing:0; margin-left:8px; }
.ll-panel-number { color:var(--ll-coral); font-size:.75rem; font-weight:800; }
.ll-panel-content { padding:20px; }
.ll-panel-content>p { color:#637083; font-size:.85rem; margin-bottom:16px; }
.ll-upload-area { border:1px dashed #9cb4d6; border-radius:5px; padding:24px 16px; text-align:center; background:#f8fbff; }
.ll-upload-area.dragging { background:#eaf3ff; border-color:var(--ll-blue); }
.ll-upload-area label { cursor:pointer; display:block; font-weight:700; color:var(--ll-blue); }
.ll-upload-area label span { color:#64748b; font-weight:400; }
.ll-upload-area input { display:block; max-width:240px; margin:10px auto; font-size:.75rem; }
.ll-upload-area small,.ll-upload-status { display:block; color:#64748b; font-size:.77rem; }
#ll-remove-logo { background:none; color:var(--ll-blue); border:0; text-decoration:underline; cursor:pointer; margin-top:7px; }
.ll-spec-list>div { display:flex; justify-content:space-between; gap:1rem; padding:9px 0; border-bottom:1px solid #edf0f3; font-size:.83rem; }
.ll-spec-list>div:last-child { border:0; }
.ll-spec-list dt { color:#64748b; }
.ll-spec-list dd { text-align:right; font-weight:650; overflow-wrap:anywhere; }
.ll-product-category { display:inline-block; padding:5px 10px; background:#e8f0fc; color:var(--ll-blue); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-radius:3px; }
.ll-detail-right>h1 { font-size:clamp(2rem,3vw,2.8rem); line-height:1.14; margin:15px 0 18px; }
.ll-detail-summary { color:#586679; font-size:.95rem; line-height:1.7; margin-bottom:20px; }
.ll-facts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:20px; background:#fff; border:1px solid var(--ll-line); border-radius:6px; }
.ll-facts-grid>div { display:flex; flex-direction:column; gap:3px; font-size:.79rem; }
.ll-facts-grid span { color:#738095; }
.ll-facts-grid strong { overflow-wrap:anywhere; }
.ll-colors { border:0; padding:20px 0; }
.ll-colors legend,.ll-order-form>label { font-size:.88rem; font-weight:800; }
.ll-color-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.ll-color-option { display:flex; align-items:center; gap:7px; padding:5px 9px 5px 5px; border:1px solid var(--ll-line); border-radius:25px; background:white; cursor:pointer; font-size:.72rem; }
.ll-color-option:has(input:checked) { border-color:var(--ll-blue); box-shadow:0 0 0 1px var(--ll-blue); }
.ll-color-dot { width:22px; height:22px; border:1px solid #bbc3cc; border-radius:50%; }
.ll-color-option input { position:absolute; opacity:0; width:1px; height:1px; }
.ll-price-panel { margin-top:20px; padding:22px; border-radius:6px; background:var(--ll-blue-deep); color:white; }
.ll-price-eyebrow { color:#b4cef3; font-size:.67rem; font-weight:700; letter-spacing:.12em; }
.ll-price-line { display:flex; align-items:baseline; gap:9px; }
.ll-price-line strong { font-size:2.25rem; }
.ll-price-line strong .woocommerce-Price-amount { color:#fff; }
.ll-price-line span { color:#cbd9eb; font-size:.85rem; }
.ll-price-bottom { display:flex; flex-wrap:wrap; gap:6px 20px; color:#dfeafa; font-size:.82rem; margin-top:8px; }
.ll-price-bottom strong { color:white; }
.ll-price-includes { border-top:1px solid #466188; margin-top:15px; padding-top:13px; font-size:.78rem; color:#cbd9eb; }
.ll-tier-panel { margin-top:18px; }
.ll-table-scroll { overflow:auto; }
.ll-tier-table { width:100%; border-collapse:collapse; font-size:.8rem; }
.ll-tier-table th,.ll-tier-table td { padding:11px 18px; text-align:left; border-bottom:1px solid #edf0f3; }
.ll-tier-table th { color:#637083; background:#fbfcfd; font-weight:600; white-space:nowrap; }
.ll-tier-table tr.is-active { background:#ecf4ff; color:var(--ll-blue); font-weight:700; }
.ll-order-form { margin-top:23px; }
.ll-order-form label small { color:#788499; font-weight:400; }
.ll-order-row { display:flex; gap:10px; margin-top:10px; }
.ll-quantity-wrap { display:flex; align-items:center; background:#fff; border:1px solid #cdd6e0; border-radius:5px; overflow:hidden; }
.ll-quantity-wrap button { background:transparent; border:0; width:36px; height:47px; cursor:pointer; font-size:1.25rem; }
.ll-quantity-wrap input { width:72px; height:47px; border:0; border-left:1px solid var(--ll-line); border-right:1px solid var(--ll-line); text-align:center; font-weight:700; }
.ll-order-button { flex:1; border:0; border-radius:5px; background:var(--ll-blue); color:white; font-size:.9rem; font-weight:800; cursor:pointer; }
.ll-order-button:hover { background:var(--ll-blue-deep); }
.ll-detail-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.ll-detail-actions a { display:block; padding:12px; text-align:center; background:#fff; border:1px solid var(--ll-blue); color:var(--ll-blue); border-radius:5px; font-weight:700; font-size:.82rem; }
.ll-detail-actions a:hover { background:#eaf3ff; }
.ll-unavailable { margin:20px 0; }
.ll-share { border-top:1px solid var(--ll-line); margin-top:23px; padding-top:16px; font-size:.77rem; color:#687789; }
.ll-share>div { display:flex; flex-wrap:wrap; gap:12px; margin-top:7px; }
.ll-share a,.ll-share button { color:var(--ll-blue); background:none; border:0; cursor:pointer; font-size:.8rem; font-weight:700; }
.ll-detail-tabs { margin-top:55px; border-top:1px solid var(--ll-line); }
.ll-tab-buttons { display:flex; gap:22px; border-bottom:1px solid var(--ll-line); }
.ll-tab-buttons button { padding:16px 4px; border:0; border-bottom:2px solid transparent; background:none; color:#64748b; cursor:pointer; font-weight:700; }
.ll-tab-buttons button[aria-selected="true"] { color:var(--ll-blue); border-color:var(--ll-blue); }
.ll-tab-pane { padding:26px 0; max-width:850px; line-height:1.75; color:#526175; }
.ll-tab-pane[hidden] { display:none; }
.ll-tab-pane table { max-width:100%; display:block; overflow:auto; border-collapse:collapse; }
.ll-tab-pane td,.ll-tab-pane th { padding:6px 12px; border:1px solid var(--ll-line); }
.ll-related { margin-top:50px; }
.ll-variation-form { background:#fff; padding:1.2rem; border:1px solid var(--ll-line); margin:1rem 0; }
@media(max-width:1150px) { .site-logo img { width:155px; } .main-nav { gap:1rem; } .header-actions .search-box { display:none; } }
@media(max-width:1024px) { .ll-category-grid { grid-template-columns:repeat(3,1fr); } .ll-season-grid { grid-template-columns:repeat(2,1fr); } .ll-season-card:last-child { grid-column:span 2; } .ll-products-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:768px) { .ll-section { padding:54px 0; } .header-inner { min-height:67px; } .site-logo img { width:140px; height:auto; } .ll-hero,.ll-hero-inner { min-height:440px; } .ll-hero-image { inset:0; opacity:.5; } .ll-hero:before { background:linear-gradient(90deg,rgba(16,44,88,.96),rgba(16,44,88,.72)); } .ll-hero-copy { padding:3rem 0; } .ll-hero-caption { display:none; } .ll-value-inner span { font-size:.7rem; padding:.8rem .4rem; } .ll-value-inner strong { display:block; } .ll-category-grid { grid-template-columns:repeat(2,1fr); } .ll-products-grid { grid-template-columns:repeat(2,1fr); } .ll-season-grid { grid-template-columns:1fr; } .ll-season-card:last-child { grid-column:auto; } .ll-season-card { min-height:270px; } .ll-why-layout,.ll-detail-grid { grid-template-columns:1fr; } .ll-process-grid { grid-template-columns:1fr; } .ll-contact-inner { align-items:flex-start; flex-direction:column; } .ll-detail-body { padding-top:22px; } }
@media(max-width:540px) { .ll-top-inner { justify-content:center; } .ll-top-inner a { display:none; } .ll-section-heading { display:block; } .ll-section-heading .ll-text-link { display:inline-block; margin-top:14px; } .ll-category-grid { gap:9px; } .ll-category-bottom { min-height:55px; font-size:.8rem; padding:10px; } .ll-product-info { padding:10px; } .ll-product-info h3 { font-size:.79rem; } .ll-product-meta { font-size:.74rem; } .ll-value-inner { grid-template-columns:1fr; } .ll-value-inner span { border:0!important; padding:8px; } .ll-value-inner strong { display:inline; } .ll-hero h1 { font-size:2.9rem; } .ll-detail-actions { grid-template-columns:1fr; } .ll-facts-grid { gap:10px; padding:14px; } .ll-order-row { flex-wrap:wrap; } .ll-order-button { min-height:48px; } .ll-tier-table th,.ll-tier-table td { padding:9px 8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

.site-footer .footer-logo img { height:auto; width:205px; max-width:100%; }
.ll-variation-form .single_add_to_cart_button { background:var(--ll-blue)!important; }
@media(max-width:1024px) { .main-nav,.header-actions { display:none!important; } .mobile-toggle { display:block!important; } }
