/* Approved Sea Shop R2, standalone responsive photography. */
.sea-home { --sea-paper:#f7faf9; --sea-ink:#0b2433; --sea-blue:#0077b3; color:var(--sea-ink); background:var(--sea-paper); padding-bottom:32px; }
body.home { background:#f7faf9; }
body.home .mv-home-main { margin:0; padding:0; max-width:none; width:100%; }
.sea-home * { box-sizing:border-box; }
.sea-shell { width:min(calc(100% - 112px),1680px); margin-inline:auto; }
.sea-home h1,.sea-home h2,.sea-home h3,.sea-home p,.sea-home figure { margin:0; }
.sea-home a { color:inherit; text-decoration:none; }
.sea-home h2 { font-size:38px; font-weight:750; letter-spacing:-1.25px; line-height:1.15; }
.sea-home .sea-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:52px; border:0; border-radius:8px; padding:14px 24px; color:#f7faf9; background:var(--sea-blue); font-size:16px; line-height:1.3; font-weight:650; text-decoration:none; transition:background-color 160ms ease,transform 120ms ease; }
.sea-home .sea-button:hover { background:#015a9c; }
.sea-home .sea-button:active { transform:scale(.985); }
.sea-home a:focus-visible,.sea-home button:focus-visible { outline:none; box-shadow:inset 0 0 0 2px #0077b3; background-color:#d7f0fa; color:#0b2433; }
.sea-photo { display:block; position:relative; overflow:hidden; isolation:isolate; aspect-ratio:var(--photo-ratio); background:#edf3f4; }
.sea-photo > img { position:absolute; width:var(--photo-width) !important; height:var(--photo-height) !important; max-width:none !important; left:var(--photo-x); top:var(--photo-y); object-fit:fill; border:0; border-radius:0 !important; }
.sea-hero { position:relative; overflow:hidden; min-height:424px; max-width:1792px; margin-inline:auto; background:#f7faf9; }
.sea-hero__photo { position:absolute; right:0; top:0; width:54%; height:100%; overflow:hidden; }
.sea-hero__photo .sea-photo { width:100%; height:100%; min-height:0; aspect-ratio:auto; }
.sea-hero__photo .sea-photo > img { position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover; object-position:50% 50%; }
/* Blend only the frame into the page; the food stays sharp and fully opaque. */
.sea-hero__photo::after {
 content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
 background:
  linear-gradient(to right,var(--sea-paper),transparent clamp(72px,10vw,160px)),
  linear-gradient(to top,var(--sea-paper),transparent 48px),
  linear-gradient(to bottom,var(--sea-paper),transparent 28px),
  linear-gradient(to left,var(--sea-paper),transparent 28px);
}
.sea-hero__inner { position:relative; min-height:424px; display:flex; align-items:center; pointer-events:none; }
.sea-hero__copy { width:44%; position:relative; pointer-events:auto; padding-block:38px; }
.sea-hero h1 { font-size:68px; line-height:.99; font-weight:800; letter-spacing:-2.8px; }
.sea-hero p { margin:24px 0; font-size:19px; line-height:1.45; font-weight:550; max-width:480px; }
.sea-hero .sea-button { min-width:288px; min-height:60px; font-size:18px; }
.sea-hero .sea-button span { display:none; }
.sea-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:22px; }
.sea-section-heading > a { flex-shrink:0; color:var(--sea-blue); font-size:16px; font-weight:650; }
.sea-section-heading > a:hover { text-decoration:underline; text-underline-offset:4px; }
.sea-categories { padding-top:22px; }
.sea-category-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; }
.sea-category-grid .sea-photo { border-radius:10px; }
.sea-category-grid a { min-width:0; text-align:center; font-size:17px; font-weight:650; }
.sea-category-grid a > span:last-child { display:block; padding-top:13px; }
.sea-category-grid a:hover { color:var(--sea-blue); }
.sea-shelf { padding-top:48px; }
.sea-products { display:block; overflow-x:auto; position:relative; scrollbar-width:none; }
.sea-products:not(.swiper-initialized) > .swiper-wrapper { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 72px)/4); gap:24px; }
.sea-products.swiper-initialized { overflow:hidden; }
.sea-products.swiper-initialized > .swiper-wrapper { display:flex; gap:0; align-items:stretch; transition-timing-function:cubic-bezier(.23,1,.32,1); }
.sea-products .sea-product { height:auto; }
.sea-products::-webkit-scrollbar { display:none; }
.sea-product { min-width:0; scroll-snap-align:start; display:flex; flex-direction:column; }
.sea-product__media { display:block; border-radius:11px; overflow:hidden; aspect-ratio:206/172; background:#edf3f4; }
.sea-product__media > img { width:100%; height:100%; object-fit:cover; }
.sea-product__media .sea-photo { width:100%; }
.sea-product h3 { font-size:20px; font-weight:720; letter-spacing:-.4px; line-height:1.25; margin-top:12px; }
.sea-product h3 a:hover { color:var(--sea-blue); }
.sea-product__basis { color:#536b7b; font-size:13px; line-height:1.35; margin:6px 0 0 !important; min-height:36px; }
.sea-product__price { font-size:25px; line-height:1.2; font-weight:730; letter-spacing:-.5px; font-variant-numeric:tabular-nums; margin:3px 0 12px; }
.sea-product__price .mv-price-unit { font-size:15px; color:#536b7b; font-weight:450; }
.sea-product__cart { width:100%; margin-top:auto; min-height:48px !important; padding-inline:10px !important; font-size:15px !important; }
.sea-product__cart.loading { opacity:.65; pointer-events:none; }
.sea-product__cart.added::after { content:' ✓'; }
.sea-product .added_to_cart { display:none; }
.sea-product__quick { background:none; border:0; padding:12px 4px; margin:0; min-height:44px; font-family:inherit; line-height:1.4; font-size:13px; font-weight:550; color:var(--sea-blue); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.sea-shelf-controls { display:flex; justify-content:center; align-items:center; gap:26px; padding-top:8px; color:#536b7b; font-size:15px; }
.sea-shelf-controls[hidden] { display:none; }
.sea-shelf-controls button { width:44px; height:44px; border:1px solid #cde0e8; border-radius:50%; background:#eef6f9; color:#0077b3; font-size:28px; line-height:1; cursor:pointer; }
.sea-shelf-controls button:disabled { opacity:.35; cursor:default; }
.sea-shelf-controls { gap:16px; padding-top:16px; }
.sea-shelf-controls > button { width:48px; height:48px; border-color:#d2e2e8; background:transparent; display:grid; place-items:center; padding:0; }
.sea-shelf-controls > button::before,.sea-shelf-controls > button::after { content:none; }
.sea-shelf-controls .dashicons { font-size:20px; width:20px; height:20px; }
.sea-shelf-controls .sea-shelf-pagination { display:flex; width:auto; justify-content:center; align-items:center; }
.sea-shelf-controls button.sea-page-dot { display:grid; place-items:center; width:24px; height:44px; padding:0; border:0; border-radius:0; background:transparent; opacity:1; }
.sea-page-dot span { display:block; width:7px; height:7px; border-radius:8px; background:#b6cbd5; transition:transform 180ms cubic-bezier(.23,1,.32,1),background-color 160ms; }
.sea-page-dot.is-active span { background:#0077b3; transform:scale(1.3); }
.sea-home .sea-shelf-controls .swiper-button-lock { display:none; }
@media(hover:hover) and (pointer:fine) { .sea-shelf-controls > button:not(:disabled):hover { background:#dff0f7; } }
.sea-journal { margin-top:34px; }
.sea-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.sea-journal-grid .sea-photo { border-radius:10px; }
.sea-journal-grid h3 { font-size:18px; line-height:1.25; font-weight:720; letter-spacing:-.35px; margin-top:11px; }
.sea-journal-grid p { max-width:290px; font-size:16px; line-height:1.4; margin-top:6px; }
.sea-journal-grid small { color:#536b7b; font-size:12px; }
.sea-journal-grid a:hover h3 { color:var(--sea-blue); }
.sea-delivery { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:40px; padding:24px 32px; background:#e0f5fc; border-radius:12px; }
.sea-delivery h2 { font-size:34px; }
.sea-delivery p { font-size:16px; line-height:1.4; margin-top:8px; }
.sea-home .sea-button--small { min-height:40px; font-size:15px; padding:8px 14px; margin-top:10px; }
.sea-stripes { display:flex; gap:22px; padding-inline:30px; flex-shrink:0; transform:skew(-32deg); }
.sea-stripes i { display:block; width:14px; height:116px; border-radius:10px; background:#0084c9; }
@media(min-width:1001px) { .sea-hero,.sea-hero__inner { min-height:clamp(424px,30vw,520px); } }
@media(max-width:1100px) {
 .sea-shell { width:calc(100% - 64px); }
 .sea-hero,.sea-hero__inner { min-height:354px; }
 .sea-hero h1 { font-size:52px; }
 .sea-hero p { font-size:16px; }
 .sea-hero .sea-button { min-width:0; min-height:50px; font-size:16px; }
 .sea-home h2 { font-size:30px; }
 .sea-category-grid { gap:14px; }
 .sea-category-grid a { font-size:14px; }
 .sea-products { grid-auto-columns:calc((100% - 44px)/3); }
 .sea-stripes { gap:14px; }
 .sea-stripes i { width:10px; height:80px; }
}
@media(max-width:600px) {
 .sea-home { padding-bottom:24px; }
 .sea-shell { width:calc(100% - 32px); }
 .sea-hero { display:flex; flex-direction:column; min-height:0; overflow:visible; }
 .sea-hero__photo { position:relative; order:0; width:100%; height:auto; aspect-ratio:1.96; }
 .sea-hero__photo::after { background:linear-gradient(to top,var(--sea-paper),transparent 42px),linear-gradient(to bottom,var(--sea-paper),transparent 16px); }
 .sea-hero__inner { min-height:0; order:1; }
 .sea-hero__copy { width:100%; padding:10px 0 0; }
 .sea-hero h1 { font-size:38px; line-height:1.02; letter-spacing:-1.45px; }
 .sea-hero p { margin:10px 0 14px; font-size:15px; }
 .sea-hero .sea-button { min-height:48px; padding-inline:20px; gap:18px; }
 .sea-hero .sea-button span { display:inline; }
 .sea-categories { padding-top:24px; }
 .sea-home h2 { font-size:27px; letter-spacing:-.8px; }
 .sea-section-heading { gap:12px; margin-bottom:14px; }
 .sea-section-heading > a { font-size:12px; }
 .sea-categories .sea-section-heading > a { display:none; }
 .sea-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 10px; }
 .sea-category-grid a { font-size:11px; }
 .sea-category-grid a > span:last-child { padding-top:7px; }
 .sea-category-grid .sea-photo { border-radius:7px; }
 .sea-shelf { padding-top:28px; }
 .sea-products { grid-auto-columns:calc((100% - 16px)/2); gap:16px; }
 .sea-products:not(.swiper-initialized) > .swiper-wrapper { grid-auto-columns:calc((100% - 16px)/2); gap:16px; }
 .sea-shelf-controls { gap:10px; }
 .sea-shelf-controls > button { width:44px; height:44px; flex-shrink:0; }
 .sea-product h3 { font-size:16px; line-height:1.25; margin-top:9px; }
 .sea-product__basis { font-size:11px; min-height:30px; }
 .sea-product__price { font-size:21px; margin-bottom:12px; }
 .sea-product__price .mv-price-unit { font-size:12px; }
 .sea-product__cart { font-size:13px !important; min-height:44px !important; }
 .sea-product__quick { font-size:12px; }
 .sea-shelf-controls { gap:10px; }
 .sea-journal { margin-top:26px; }
 .sea-journal-grid { grid-template-columns:1fr; gap:16px; }
 .sea-journal-grid article,.sea-journal-grid article > a { display:grid; grid-template-columns:108px minmax(0,1fr); gap:14px; align-items:start; }
 .sea-journal-grid article > a { grid-column:1/-1; }
 .sea-journal-grid .sea-photo { aspect-ratio:1.5; height:76px; }
 .sea-journal-grid h3 { font-size:14px; line-height:1.3; margin:0; }
 .sea-journal-grid p { font-size:12px; line-height:1.35; margin-top:4px; }
 .sea-delivery { margin-top:26px; padding:18px; gap:12px; }
 .sea-delivery h2 { font-size:24px; }
 .sea-delivery p { font-size:13px; }
 .sea-delivery p br { display:none; }
 .sea-stripes { gap:7px; padding-inline:8px; }
 .sea-stripes i { width:4px; height:24px; }
 .sea-home .sea-button--small { background:var(--sea-blue); color:#f7faf9; padding:10px 16px; min-height:44px; margin-top:14px; text-decoration:none; }
}
/* Tablet: separate copy and photography instead of overlapping their bounding boxes. */
@media(min-width:601px) and (max-width:1000px) {
 .sea-hero { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; padding-inline:32px; gap:24px; }
 .sea-hero__inner { grid-column:1; grid-row:1; width:100%; min-height:360px; }
 .sea-hero__copy { width:100%; padding:28px 0; }
 .sea-hero h1 { font-size:clamp(36px,5.2vw,50px); letter-spacing:-1.6px; }
 .sea-hero__photo { grid-column:2; grid-row:1; position:relative; width:100%; height:100%; min-height:360px; border-radius:0; }
 .sea-hero__photo::after { background:linear-gradient(to right,var(--sea-paper),transparent 48px),linear-gradient(to top,var(--sea-paper),transparent 32px),linear-gradient(to bottom,var(--sea-paper),transparent 20px),linear-gradient(to left,var(--sea-paper),transparent 16px); }
 .sea-hero__photo .sea-photo { position:absolute; inset:0; width:100%; height:100%; }
 .sea-hero__photo .sea-photo > img { object-position:50% center; }
 .sea-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
}
.sea-home .sea-delivery .sea-button--small { transition:background-color 180ms ease,color 180ms ease,transform 120ms ease; }
@media(hover:hover) and (pointer:fine) { .sea-home .sea-delivery .sea-button--small:hover { background:#005f91; color:#f7faf9; text-decoration:none; } }
@media(max-width:360px) { .sea-category-grid a { font-size:10px; } .sea-hero h1 { font-size:34px; } .sea-home h2 { font-size:24px; } .sea-stripes { display:none; } }
@media(prefers-reduced-motion:reduce) { .sea-home * { scroll-behavior:auto !important; transition:none !important; } }

/* Lower-home R1 transfer: recipe relationship, FAQ and closing contact flow. */
.sea-kicker { color:#536b7b; font-size:11px; line-height:1.4; letter-spacing:1.2px; text-transform:uppercase; font-weight:650; margin:0 0 10px !important; }
.sea-text-link { display:inline-flex; align-items:center; gap:8px; min-height:40px; color:var(--sea-blue) !important; font-size:15px; font-weight:650; }
.sea-text-link:hover { color:#015a9c !important; text-decoration:underline; text-underline-offset:4px; }
.sea-recipe { padding-top:52px; }
.sea-recipe-grid { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(320px,.92fr); gap:40px; align-items:stretch; }
.sea-recipe__photo { position:relative; width:100%; min-width:0; min-height:0; aspect-ratio:1.65; overflow:hidden; border-radius:12px; background:#edf3f4; }
.sea-recipe__photo .sea-photo { width:100%; height:100%; min-height:0; aspect-ratio:auto; }
.sea-recipe__photo .sea-photo > img { width:100% !important; height:100% !important; object-fit:cover; object-position:center; }
.sea-recipe__copy { display:flex; flex-direction:column; justify-content:space-between; gap:32px; padding:8px 0 0; }
.sea-recipe__copy h3 { max-width:16ch; font-size:clamp(28px,3vw,42px); line-height:1.08; letter-spacing:-1.3px; }
.sea-recipe__copy > div:first-child > p { max-width:42ch; margin:18px 0 14px; color:#536b7b; font-size:16px; line-height:1.55; }
.sea-recipe__product { border-top:1px solid #d6e3e7; padding-top:20px; }
.sea-recipe__product-row { display:flex; align-items:center; gap:16px; min-height:84px; }
.sea-recipe__product-image { display:block; flex:0 0 84px; width:84px; height:84px; overflow:hidden; border-radius:8px; background:#edf3f4; }
.sea-recipe__product-image img { width:100%; height:100%; object-fit:cover; }
.sea-recipe__product-row strong { display:block; font-size:17px; line-height:1.3; }
.sea-recipe__product-price { display:block; margin-top:7px; font-size:19px; font-weight:730; font-variant-numeric:tabular-nums; }
.sea-recipe__product-price .mv-price-unit { color:#536b7b; font-size:13px; font-weight:450; }
.sea-button--compact { width:100%; min-height:44px !important; margin-top:18px; font-size:14px !important; }
.sea-recipe__cart.added::after { margin-inline-start:6px; content:'✓'; }
.sea-recipe__product .added_to_cart { display:none !important; }
.sea-faq { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:72px; margin-top:56px; padding-block:44px 28px; border-top:1px solid #d6e3e7; }
.sea-faq__intro h2 { font-size:34px; }
.sea-faq__intro p { max-width:24ch; margin:16px 0 14px; color:#536b7b; font-size:15px; line-height:1.5; }
.sea-faq__list details { border-bottom:1px solid #d6e3e7; }
.sea-faq__list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:62px; padding:14px 0; cursor:pointer; list-style:none; font-size:16px; font-weight:650; }
.sea-faq__list summary::-webkit-details-marker { display:none; }
.sea-faq__list summary > span { flex:0 0 24px; color:var(--sea-blue); font-size:22px; font-weight:400; text-align:center; transition:transform 160ms ease; }
.sea-faq__list details[open] summary > span { transform:rotate(45deg); }
.sea-faq__list summary:hover { color:var(--sea-blue); }
.sea-faq__list details > p { max-width:62ch; padding:0 42px 18px 0; color:#536b7b; font-size:14px; line-height:1.6; }
.sea-faq__list details > p a { color:var(--sea-blue); text-decoration:underline; text-underline-offset:3px; }
.sea-delivery .sea-kicker { margin-bottom:8px !important; }
.sea-delivery__contact { flex:0 0 300px; padding-left:32px; border-left:1px solid #c5e2ec; }
.sea-delivery__contact p { margin:0 0 8px; color:#536b7b; font-size:14px; }
.sea-delivery__contact a { color:var(--sea-blue); font-size:15px; font-weight:650; }
@media(max-width:1100px) {
 .sea-recipe-grid { grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr); gap:28px; }
 .sea-recipe__photo { min-height:0; aspect-ratio:1.55; }
 .sea-faq { gap:40px; }
}
@media(max-width:600px) {
 .sea-recipe { padding-top:36px; }
 .sea-recipe-grid { grid-template-columns:1fr; gap:22px; }
 .sea-recipe__photo { min-height:0; aspect-ratio:1.45; }
 .sea-recipe__copy { gap:24px; padding-top:0; }
 .sea-recipe__copy h3 { font-size:28px; }
 .sea-recipe__copy > div:first-child > p { font-size:14px; margin-block:12px 10px; }
 .sea-recipe__product { padding-top:16px; }
 .sea-recipe__product-image { flex-basis:76px; width:76px; height:76px; }
 .sea-recipe__product-row strong { font-size:16px; }
 .sea-recipe__product-price { font-size:18px; }
 .sea-faq { grid-template-columns:1fr; gap:18px; margin-top:36px; padding-block:30px 16px; }
 .sea-faq__intro h2 { font-size:28px; }
 .sea-faq__intro p { margin-block:10px 8px; }
 .sea-faq__list summary { min-height:56px; font-size:14px; }
 .sea-faq__list details > p { padding-right:28px; font-size:13px; }
 .sea-delivery { flex-direction:column; align-items:flex-start; gap:20px; }
 .sea-delivery__contact { width:100%; padding:18px 0 0; border-left:0; border-top:1px solid #c5e2ec; }
}
@media(prefers-reduced-motion:reduce) { .sea-faq__list summary > span { transition:none; } }
