@charset "UTF-8";
:root{font-family:"Microsoft JhengHei","PingFang TC",system-ui,sans-serif;color:#193e4b;background:#faf9f5;font-synthesis:none;--navy:#193e4b;--blue:#517c89;--line:#dce2de}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c48441;outline-offset:3px}[hidden]{display:none!important}.header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:serif;font-size:28px;font-weight:700;letter-spacing:3px}.brand small{display:block;font:9px system-ui;letter-spacing:2px;margin-top:5px}.brand-mark{border:1px solid var(--navy);border-radius:50%;padding:9px;font-size:24px}.order-link{font-size:15px}.order-link span{background:var(--navy);color:white;border-radius:50%;padding:5px 9px;margin-left:8px}main{max-width:1440px;margin:auto;padding:0 5%}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:430px;align-items:center;gap:25px}.hero-copy{padding:42px 0}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:700}.hero h1{font-family:serif;font-size:clamp(42px,4.5vw,66px);line-height:1.25;letter-spacing:4px;margin:22px 0}.hero h1 span{color:#668b8c}.intro{line-height:1.9;color:#60757b;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 22px;min-height:48px;border-radius:7px;border:1px solid transparent;font-weight:600;font-size:15px}.primary{background:var(--navy);color:#fff}.primary:hover{background:#2b5967}.secondary{border-color:#b9cbc9;background:#fff}.hero .button{margin-top:10px}.hero-note{font-size:11px;letter-spacing:1px;color:#738786;margin-top:21px}.hero-art{position:relative;height:365px;background:#eaf0ea;border-radius:49% 49% 44% 46%;max-width:530px;width:100%;justify-self:center}.hero-art img{position:absolute;mix-blend-mode:multiply}.hero-fish{width:66%;left:13%;top:26%;transform:rotate(-12deg)}.hero-shrimp{width:41%;right:-3%;top:7%;transform:rotate(18deg)}.hero-shell{width:37%;bottom:-6%;left:0}.art-label{position:absolute;top:25px;left:55px;writing-mode:vertical-rl;font-family:serif;letter-spacing:6px;font-size:23px}.art-label small{font:8px system-ui;letter-spacing:2px;margin-right:10px}.seal{position:absolute;right:30px;bottom:35px;border:1px solid #af6b56;color:#af6b56;padding:10px;border-radius:50%;font-family:serif;line-height:1.5}.wave{position:absolute;bottom:1px;left:42%;color:#85a7ad;font-size:27px}.steps{display:flex;justify-content:space-around;border-block:1px solid var(--line);padding:22px 0;font-size:13px}.steps b{font:italic 18px Georgia;color:#6b9298;margin-right:10px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:55px 0 70px}h2{font-family:serif;font-size:25px;margin:8px 0}h3{font-size:19px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.sample-tag,.small-label{font-size:10px;color:#738480}.sample-tag{border:1px solid var(--line);padding:7px;border-radius:20px;white-space:nowrap}.muted{font-size:13px;color:#6e7e80;line-height:1.7}.categories{display:flex;gap:8px;overflow:auto;padding:20px 0 25px}.categories button{border:1px solid var(--line);background:transparent;border-radius:25px;white-space:nowrap;padding:10px 15px;color:var(--navy);min-height:44px}.categories button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.product{background:white;border:1px solid #e1e5e0;border-radius:10px;overflow:hidden}.product-art{position:relative;background:#f2f3ec}.product-art img{width:100%;height:162px;display:block;object-fit:contain;padding:8px}.availability{position:absolute;left:11px;top:11px;font-size:10px;color:#50766a;background:#ffffffc9;padding:5px 7px;border-radius:4px}.unavailable .product-art{opacity:.65}.product-body{padding:14px}.product h3{margin:0 0 7px;font-family:serif;font-size:22px}.description{font-size:10px;color:#7c8885;margin:0 0 15px;min-height:15px}.selection{display:flex;gap:6px}.selection input{width:60%;min-width:0}.selection select{width:40%;min-width:0}.selection input,.selection select{padding:7px;border:1px solid var(--line);border-radius:5px;background:#fafbf8;color:var(--navy);min-height:44px}.add{width:100%;border:1px solid #bacdca;background:#edf3ef;color:var(--navy);padding:10px;margin-top:10px;border-radius:5px;min-height:44px;font-size:13px}.add:hover{background:#dce8e1}button:disabled{opacity:.45;cursor:not-allowed}.order-panel{align-self:start;background:#f0f3ef;padding:23px;border:1px solid #dde4dd;border-radius:10px;scroll-margin-top:20px}.order-panel h2{font-size:23px}.empty{padding:28px 0;text-align:center;color:#768880;font-size:14px;line-height:1.8;border-bottom:1px dashed #b8c9c2}.empty strong{display:block;font-weight:400;font-family:serif;font-size:26px;color:#8ea49a;margin-bottom:10px}.order-row{display:grid;grid-template-columns:50px 1fr 30px;gap:8px;align-items:center;padding:15px 0;border-bottom:1px solid #d4ded7}.order-row img{width:50px;height:50px}.order-row strong{font-size:16px}.order-row .selection{margin-top:7px}.remove{background:none;border:0;font-size:23px;color:#6b7778;min-height:44px}.order-note{font-size:11px;color:#6f8178;margin:20px 0}label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}label span{color:#a16f54}label input,label textarea{display:block;width:100%;min-width:0;margin-top:8px;background:#fff;border:1px solid #d6dfd8;border-radius:5px;padding:12px;color:var(--navy);font-size:14px}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privacy{font-size:11px;color:#6c7d76;line-height:1.8}.full{width:100%;justify-content:space-between}.result{max-width:900px;margin:50px auto;text-align:center;padding:0 20px}.result h1{font:36px serif}.result p{line-height:1.8}.result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0}#receipt-preview{width:100%;max-width:600px;margin-top:30px;box-shadow:0 12px 40px #193e4b15}#fallback{padding:15px;background:#edf1e9;border-radius:10px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#73847f;font-size:12px}footer .brand{font-size:21px;display:block;color:var(--navy)}footer p{font-family:serif;font-size:16px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:12px 22px;border-radius:30px;z-index:5;max-width:90%;width:max-content;font-size:14px;box-shadow:0 5px 20px #0002}.toast:empty{display:none}@media(min-width:1250px){.product-art img{height:190px}}@media(max-width:1050px){.shop-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{height:320px}.form-pair{grid-template-columns:1fr}}@media(max-width:740px){.header{padding:17px 5%}.brand{font-size:22px;gap:8px}.brand small{font-size:7px;letter-spacing:1px}.brand-mark{font-size:20px;padding:6px}.order-link{font-size:12px}.hero{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:32px 0 12px}.hero h1{font-size:46px;margin:16px 0}.intro{font-size:14px}.hero-art{height:245px;width:90%;margin-bottom:28px}.hero-fish{max-height:230px}.hero-note{margin-bottom:0}.art-label{font-size:19px;top:20px;left:35px}.hero-shrimp{max-height:160px}.hero-shell{max-height:145px}.steps{gap:9px;font-size:10px;padding:15px 0}.steps b{font-size:14px;margin-right:4px}.shop-layout{grid-template-columns:1fr;padding-top:30px;gap:35px}h2{font-size:22px}.products{gap:12px}.product-body{padding:12px}.product-art img{height:150px}.product h3{font-size:21px}.description{font-size:9px}.categories{gap:7px}.categories button{padding:9px 12px;font-size:13px}.form-pair{grid-template-columns:1fr 1fr}.order-panel{padding:22px}.small-label{font-size:10px}footer{flex-wrap:wrap;gap:13px}footer p{margin:5px 0}.result h1{font-size:30px}.result-actions .button{width:100%}.sample-tag{font-size:9px}.section-heading{align-items:center}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.add,.primary{transition:background .15s}}
/* Visible unit labels remain readable on compact mobile cards. */
.selection label{min-width:0;flex:1;margin:0;font-size:11px;font-weight:500;color:#536e71}
.selection label input,.selection label select{display:block;width:100%;margin:5px 0 0;font-size:16px;min-height:48px}
.product .description{line-height:1.6;min-height:32px;margin-bottom:6px;font-size:11px}
.weight-note{font-size:11px;color:#536e71;margin:0 0 12px}
.order-row .selection{gap:6px}
.piece-count{font-size:13px;font-weight:600;margin:0 0 10px;color:#193e4b}.fixed-unit{align-self:end;padding:14px 4px}.selection+.selection{margin-top:10px}.order-row>div{min-width:0}.order-row .selection label{font-size:10px}
.header .header-logo{display:block;width:clamp(190px,23vw,260px);height:auto}.header .brand{min-width:0}
.regular-customer-banner{width:100%;background:#245b78;color:#fff;text-align:center;padding:14px 20px}.regular-customer-banner p{margin:0;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);font-weight:700;line-height:1.5;letter-spacing:.18em}
