/* Product detail: original catalogue content, generous photography and readable type. */
#product-info .product-overview { --bs-gutter-x:48px; row-gap:28px; margin-top:25px; margin-bottom:52px!important; align-items:start; }
#product-info .product-gallery-column { flex:0 0 54%; max-width:54%; min-width:0; }
#product-info .product-summary-column { flex:0 0 46%; max-width:46%; min-width:0; }
.product-gallery { position:sticky; top:185px; }
.product-photo-stage { position:relative; padding:20px; background:#eaf1e5; border-radius:90px 22px 22px 22px; }
.product-photo-link { position:relative; display:block; overflow:hidden; border-radius:75px 14px 14px 14px; background:white; }
.product-main-photo { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:white; padding:24px; transition:transform .3s ease; }
.product-photo-link:hover .product-main-photo { transform:scale(1.025); }
.product-gallery-flower { position:absolute; z-index:1; right:4px; top:-17px; font:60.01625px/1 Georgia,serif; color:#91b47f; pointer-events:none; }
.product-zoom { position:absolute; bottom:14px; right:14px; display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid #dbe3df; border-radius:30px; background:#fffffff2; color:#4d6170; font-size:12.00325px; box-shadow:0 3px 12px #43515d0b; }
.product-thumbnails { display:flex; gap:12px; padding:18px 2px 4px; overflow-x:auto; scrollbar-width:thin; }
.product-thumbnail { display:grid; place-items:center; flex:0 0 88px; height:94px; border:1px solid #dce4df; padding:6px; border-radius:15px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.product-thumbnail img { display:block; width:100%; height:100%; object-fit:contain; }
.product-thumbnail.is-active { border:2px solid #6b838e; box-shadow:0 0 0 3px #edf1f2; padding:5px; }
.product-thumbnail:hover { border-color:#6b838e; }
.product-summary { padding:4px 0 0; display:flex; flex-direction:column; }
.product-kicker { display:flex; align-items:center; gap:9px; margin-bottom:15px; font-size:13.718px; font-weight:600; letter-spacing:.5px; color:#637079; }
.product-kicker>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#edf3e8; font-size:16.290125px; }
.product-kicker a { color:#586d7a; text-decoration:none; }
#product-info #content .product-summary h1 { font-size:clamp(24.863875px,2.3149125vw,35.152375px); line-height:1.2; letter-spacing:-.65px; color:#43515d; margin:0 0 22px; overflow-wrap:anywhere; }
#product-info .product-facts { display:flex; flex-wrap:wrap; gap:8px 20px; color:#65717b; font-size:13.718px; line-height:1.7; margin-bottom:18px; }
.product-facts>li { overflow-wrap:anywhere; }
.product-facts>li:first-child { width:100%; }
.product-facts a { color:#526c7c; }
.product-facts .product-stock { display:flex; align-items:center; flex-wrap:wrap; gap:7px; width:100%; margin-top:5px; color:#596873; }
.product-stock i { color:#748b6a; }
.product-stock strong { font-weight:600; }
#product-info .product-summary .rating { font-size:12.860625px; margin-bottom:6px; }
#product-info .product-summary .rating p { display:flex; align-items:center; gap:3px; flex-wrap:wrap; line-height:1.7; margin-bottom:14px; }
#product-info .product-summary .rating .fa-stack { width:18px; height:22px; line-height:22px; font-size:8.57375px; color:#b4935e; }
#product-info .product-summary .rating a { margin-left:6px; color:#647586; font-size:12.00325px; }
#product-info .product-pricing { padding:20px 24px; border:1px solid #e1e7dd; border-radius:18px; background:linear-gradient(115deg,#f1f5ec,#f7f9f5); margin:4px 0 22px; line-height:1.8; font-size:13.718px; }
#product-info .product-pricing h2 { margin:0; line-height:1.25; }
#product-info .product-pricing .price-new { font-family:inherit; font-size:32.58025px; font-weight:600; line-height:1.3; color:#435d70; }
#product-info .product-pricing .price-old { display:block; font-size:17.1475px; text-decoration:line-through; color:#7a858d; }
.product-secondary-actions { margin-top:4px; }
#product-info .product-secondary-actions .btn-group { display:flex; flex-wrap:wrap; gap:10px; }
#product-info .product-secondary-actions button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:46px; border:1px solid #dce3df; border-radius:12px!important; background:white; color:#62717d; font-size:13.718px; padding:10px 13px; }
#product-info .product-secondary-actions button:hover { background:#f0f4ed; border-color:#b6c8af; }
#product-info .product-secondary-actions button i { font-size:14.575375px; }
#product-info .product-purchase { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:end; gap:14px; }
#product-info .product-quantity label { display:block; margin-bottom:7px; font-size:12.860625px; color:#637079; }
#product-info .product-quantity input { width:100%; height:62px; text-align:center; font-size:17.1475px; border:1px solid #cbd7d4; border-radius:13px; background:white; padding:10px; }
#product-info #button-cart { min-height:62px; padding:14px; font-size:15.43275px; white-space:normal; line-height:1.35; }
.product-purchase>#error-quantity { grid-column:1/-1; margin:0; }
#product-info #product { margin-bottom:6px; }
#product-info #product h3 { font-size:18.86225px; margin:22px 0 18px; }
#product-info #product .form-select,#product-info #product input:not([type=hidden]),#product-info #product textarea { border-radius:12px; }
#product-info #product .form-select { min-height:52px; }
#product-info .product-details { border:1px solid #e1e7df; border-radius:22px; padding:0 32px 26px; margin:20px 0 50px; background:#fff; }
#product-info .product-details>.nav-tabs { display:flex; flex-wrap:wrap; gap:0 25px; border-bottom:1px solid #dde5da; padding:8px 0 0; margin-bottom:28px; }
#product-info .product-details>.nav-tabs .nav-link { border:0; border-bottom:3px solid transparent; border-radius:0; padding:18px 3px 17px; margin:0; font-size:16.290125px; font-weight:500; color:#697580; background:transparent; }
#product-info .product-details>.nav-tabs .nav-link.active { color:#435c6d; border-bottom-color:#91ad82; }
#product-info .product-details .tab-content { padding:0; font-size:15.43275px; line-height:1.85; color:#56636e; overflow-wrap:anywhere; }
#product-info #tab-description { max-width:100%; margin-bottom:0!important; }
#product-info #tab-description p,#product-info #tab-description li,#product-info #tab-description span,#product-info #tab-description font { font-size:inherit!important; line-height:inherit!important; }
#product-info #tab-description p { margin-bottom:18px; }
#product-info #tab-description img { max-width:100%!important; height:auto!important; }
#product-info #tab-description iframe,#product-info #tab-description video { max-width:100%; }
#product-info #tab-description table { display:block; max-width:100%; overflow-x:auto; }
#product-info #tab-description h2 { font-size:24.863875px; line-height:1.4; }
#product-info #tab-description h3 { font-size:21.434375px; line-height:1.4; }
#product-info #tab-review .rating { color:#b4935e; }
.product-photo-link:focus-visible,.product-thumbnail:focus-visible { outline:3px solid #728e9d; outline-offset:4px; }
@media(min-width:1400px) { #product-info .product-overview { --bs-gutter-x:64px; } }
@media(max-width:991.98px) {
  #product-info .product-overview { --bs-gutter-x:28px; }
  #product-info .product-gallery-column,#product-info .product-summary-column { flex-basis:50%; max-width:50%; }
  .product-photo-stage { padding:13px; border-top-left-radius:60px; }
  .product-photo-link { border-top-left-radius:50px; }
  .product-main-photo { padding:14px; }
  #product-info #content .product-summary h1 { font-size:25.72125px; }
  #product-info .product-purchase { grid-template-columns:80px minmax(0,1fr); gap:10px; }
  #product-info #button-cart { font-size:13.718px; padding:10px; gap:8px; }
  .product-zoom span { display:none; }
  #product-info .product-details { padding:0 24px 22px; }
}
@media(max-width:767.98px) {
  #product-info .product-overview { margin-top:16px; margin-bottom:32px!important; row-gap:26px; }
  #product-info .product-gallery-column,#product-info .product-summary-column { flex-basis:100%; max-width:100%; }
  .product-gallery { position:static; }
  .product-photo-stage { padding:14px; border-radius:65px 18px 18px 18px; }
  .product-main-photo { max-height:560px; padding:18px; }
  .product-gallery-flower { font-size:49.72775px; top:-10px; }
  .product-zoom span { display:inline; }
  .product-zoom { font-size:11.145875px; padding:8px 11px; right:10px; bottom:10px; }
  .product-thumbnails { gap:10px; padding-top:14px; }
  .product-thumbnail { flex-basis:74px; height:80px; border-radius:12px; }
  .product-summary { padding:0; }
  .product-kicker { margin-bottom:13px; }
  #product-info #content .product-summary h1 { font-size:27.436px; line-height:1.22; margin-bottom:18px; }
  #product-info .product-facts { font-size:13.718px; gap:6px 16px; }
  #product-info .product-pricing { padding:17px 20px; margin-bottom:19px; }
  #product-info .product-pricing .price-new { font-size:30.8655px; }
  #product-info .product-purchase { grid-template-columns:85px minmax(0,1fr); gap:12px; }
  #product-info #button-cart { font-size:14.575375px; }
  #product-info .product-secondary-actions button { font-size:12.00325px; flex:1; }
  #product-info .product-details { padding:0 18px 20px; margin:12px 0 32px; border-radius:18px; }
  #product-info .product-details>.nav-tabs { gap:0 16px; margin-bottom:22px; }
  #product-info .product-details>.nav-tabs .nav-link { font-size:14.575375px; padding:17px 0 14px; }
  #product-info .product-details .tab-content { font-size:14.575375px; line-height:1.85; }
}
@media(prefers-reduced-motion:reduce) { .product-main-photo,.product-thumbnail { transition:none; } .product-photo-link:hover .product-main-photo { transform:none; } }

/* Keep an honest, neutral image area when no original or gallery image exists. */
#container .product-gallery.product-gallery-empty { display:block; }
.product-photo-empty { min-height:clamp(200px,25vw,280px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; text-align:center; color:var(--muted); }
.product-photo-empty .fa-image { font-size:2em; opacity:.55; }
