/* Boi_Theme product view gallery — PDP-only
 * ==========================================
 * Splittato da legacy-swatches.css (#236 L3). Contiene SOLO le regole
 * usate sulla product view page:
 *   - .product-options .swatch-attr label ("Colore:", "Taglia:" etichette)
 *   - .product-image-gallery main image visibility (JS toggle classes)
 *   - Loading overlay durante cambio immagine
 *   - .product-image-thumbs thumbnail list
 *
 * Caricato condizionalmente via catalog_product_view handle per non
 * appesantire le altre pagine. Tutte classi PDP-specific, zero
 * conflitto con la navigazione/listing.
 */

/* Swatch attribute wrapper sulla PDP */
.product-view .product-options .swatch-attr {
    float: none;
    display: block;
    clear: both;
    border: 0;
    margin-bottom: 18px;
}
.product-view .product-options .swatch-attr label {
    display: block;
    font-weight: 600;
    font-size: var(--fs-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-text-muted);
    margin: 0 0 8px;
}
.product-view .product-options .swatch-attr .select-label,
.product-view .product-options .select-label {
    display: none !important;
}

/* === PDP polish: dl/dd reset, info table, gallery thumbs spacing ============
 * Le label opzioni (COLOR/SIZE) e gli swatch ul ereditavano i margin UA del
 * <dl> (~16px top/bottom) + l'indent default di <dd> (40px), generando gap
 * verticali ampi tra label e options e disallineando rispetto al testo
 * della col. Reset puntuale + tightening del padding interno. */
.product-view .product-options {
    margin: 0;
}
.product-view .product-options dl {
    margin: 0;
    padding: 0;
}
.product-view .product-options dt {
    margin: 0;
    padding: 0;
}
.product-view .product-options dd {
    margin: 0;
    padding: 0;
}
.product-view .product-options ul.configurable-swatch-list {
    margin: 0;
    padding: 0;
}

/* Info table (Sku/Barcode/Mpn/Availability/Delivery): label left, value
 * subito dopo (text-align:left) invece di sparate ai due bordi opposti.
 * La regola legacy in boi_theme.css aveva td.label width:34% + td.value
 * text-align:right → buco enorme di ~50% al centro su righe corte. */
#product-info-extra {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fs-sm);
    margin: 0;
}
#product-info-extra td.label {
    width: auto;
    font-weight: 600;
    color: var(--c-text-muted);
    padding: 8px 14px 8px 0;
    white-space: nowrap;
    text-align: left;
}
#product-info-extra td.value {
    width: 100%;
    text-align: left;
    padding: 8px 0;
    color: var(--c-text);
}
#product-info-extra tr {
    border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
}
#product-info-extra tr:last-child {
    border-bottom: none;
}

/* Price box — single row: label "PRICE" + current price + strikethrough old.
 * Match dello stile category card: prezzo grande in evidenza + old price
 * piccolo grigio barrato accanto. La label "PRICE" è iniettata via ::before
 * pseudo (flex item) così non serve modificare il template vendor.
 * Le label individuali "Regular Price:" / "Special Price:" sono nascoste —
 * la singola "PRICE" copre entrambi i casi (con o senza sconto).
 */
.product-view .product-shop .price-box .price,
.product-view .price-box .old-price .price,
.product-view .price-box .special-price .price,
.product-view .price-box .regular-price .price {
    float: none;
}
.product-view .price-box {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 12px;
    row-gap: 4px;
    margin: 0;
}
.product-view .price-box::before {
    content: "PRICE";
    flex: 0 0 auto;
    font-size: var(--fs-md);
    font-weight: 700;
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    /* margin-right: auto pusha tutti i sibling sulla destra → label PRICE
       resta a sinistra, prezzi vanno all'estremità destra del wrapper. */
    margin-right: auto;
}
.product-view .price-box .price-label {
    display: none;
}
.product-view .price-box > p,
.product-view .price-box > span {
    margin: 0;
    padding: 0;
}
/* Order: current price first (special se presente, altrimenti regular),
 * old price subito dopo. */
.product-view .price-box .special-price,
.product-view .price-box .regular-price {
    order: 1;
}
.product-view .price-box .old-price {
    order: 2;
}
/* Current price — grande, bold, color price (rosso/special se in sconto) */
.product-view .price-box .special-price .price,
.product-view .price-box .regular-price .price,
.product-view .price-box .regular-price > span.price-including-tax,
.product-view .price-box .regular-price > span.price-excluding-tax {
    font-size: var(--fs-xl);
    font-weight: 700;
    line-height: 1;
}
.product-view .price-box .special-price .price {
    color: var(--c-price-special);
}
.product-view .price-box .regular-price .price {
    color: var(--c-price);
}
/* Old price — piccolo, grigio, line-through */
.product-view .price-box .old-price .price {
    font-size: var(--fs-sm);
    font-weight: 400;
    color: var(--c-price-old);
    text-decoration: line-through;
}

/* === Add to Cart row: qty selector + button su una sola riga ================
 * Il template addtocart.phtml emette .add-to-cart con .qty-wrapper + button
 * btn-cart come siblings — qty a sinistra, button a destra (NON stretchato
 * a tutta riga, capped a max-width per non sembrare uno striscione enorme). */
.product-view .add-to-cart {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
}
.product-view .add-to-cart .qty-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin: 0;
}
.product-view .add-to-cart .qty-wrapper label {
    margin: 0;
    font-size: var(--fs-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--c-text-muted);
}
.product-view .add-to-cart .qty-select {
    height: 48px;
    width: auto;
    min-width: 72px;
    padding: 0 32px 0 18px;
    box-sizing: border-box;
    border: 1px solid var(--c-border);
    border-radius: 999px; /* Apple-style pill — match button radius */
    background-color: var(--c-bg);
    font-size: var(--fs-base);
    cursor: pointer;
}
.product-view .add-to-cart .btn-cart {
    flex: 0 1 auto;
    min-width: 200px;
    max-width: 320px;
    height: 48px;
    padding: 0 28px;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}
.product-view .add-to-cart .btn-cart:disabled,
.product-view .add-to-cart .btn-cart.out-of-stock {
    cursor: not-allowed;
    opacity: 0.5;
}
@media (max-width: 479px) {
    .product-view .add-to-cart {
        flex-wrap: wrap;
        justify-content: stretch;
    }
    .product-view .add-to-cart .qty-wrapper {
        flex: 0 0 100%;
    }
    .product-view .add-to-cart .btn-cart {
        flex: 0 0 100%;
        min-width: 0;
        max-width: none;
    }
}

/* Spacing verticale tra blocchi dentro .product-options-bottom (Required
 * Fields → info table → price row → addtocart row). Default block layout
 * collassava i margin, ora gap di 16px controllato. */
.product-view .product-options-bottom {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
}
.product-view .product-options-bottom > p.required {
    margin: 0;
    font-size: var(--fs-sm);
    color: var(--c-text-muted);
}

/* === Apple-style polish: typography + hairline dividers + segmented size ====
 * Tighter h1 con tracking negativo + weight 600 (più Apple, meno spinta), e
 * dividers hairline tra le sezioni chiave della primary col (sopra price,
 * sopra add-to-cart) per il ritmo visivo Apple-style.
 */
.product-view .product-name h1 {
    font-size: clamp(1.75rem, 2.6vw, 2.25rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0;
}
/* Brand logo + h1 sulla stessa riga — flex baseline align. Logo più grande
 * (max-height 56px) per equilibrare il peso visivo dell'h1 (~36-40px). Su
 * mobile stretto va in wrap automatico. */
.product-view .product-name--with-brand {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}
.product-view .product-brand {
    margin: 0;
    flex: 0 0 auto;
}
.product-view .product-brand .box-brand {
    display: inline-block;
}
.product-view .product-brand .box-brand a {
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s ease;
}
.product-view .product-brand .box-brand a:hover {
    opacity: 0.7;
}
.product-view .product-brand .box-brand img {
    display: block;
    max-height: 56px;
    max-width: 140px;
    width: auto;
    object-fit: contain;
}
.product-view .product-name--with-brand h1 {
    flex: 1 1 auto;
    margin: 0;
}

/* === Product info tabs Apple-style ==========================================
 * Override del tab restyle vendor (#f1f3f5 grey buttons + radius top corners).
 * Apple-style: tab puliti senza background, weight differential per current,
 * solo bottom border indicator sul current. Più macOS settings / iOS.
 */
#product-tabs.gen-tabs {
    margin: 0;
    padding: 0;
}
#product-tabs.gen-tabs .tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
#product-tabs.gen-tabs .tabs li {
    margin: 0;
    padding: 0;
}
#product-tabs.gen-tabs .tabs li a {
    display: block;
    padding: 14px 22px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    margin-bottom: -1px;
    color: var(--c-text-muted);
    font-size: var(--fs-base);
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    text-decoration: none;
    transition:
        color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#product-tabs.gen-tabs .tabs li a:hover {
    background: transparent;
    color: var(--c-text);
}
#product-tabs.gen-tabs .tabs li a.current {
    background: transparent;
    border: none;
    border-bottom: 2px solid var(--c-text);
    color: var(--c-text);
    font-weight: 600;
    cursor: default;
}
#product-tabs.gen-tabs .tabs-panels {
    margin: 0;
}
#product-tabs.gen-tabs .panel {
    padding: 28px 0 8px;
    font-size: var(--fs-base);
    line-height: var(--lh-relaxed);
    color: var(--c-text);
}

/* Accordion mode (mobile) — hairline-separated sections */
#product-tabs.gen-tabs .acctab {
    display: none;
    position: relative;
    margin: 0;
    padding: 16px 36px 16px 0;
    background: transparent;
    border: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    font-size: var(--fs-base);
    font-weight: 600;
    color: var(--c-text);
    cursor: pointer;
    user-select: none;
}
#product-tabs.gen-tabs .acctab:first-child {
    border-top: none;
}
#product-tabs.gen-tabs .acctab + .panel {
    border: none;
    background: transparent;
    border-radius: 0;
    padding: 0 0 16px;
}
#product-tabs.gen-tabs .acctab::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--c-text-muted);
    border-bottom: 2px solid var(--c-text-muted);
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#product-tabs.gen-tabs .acctab.current::after {
    transform: translateY(-30%) rotate(-135deg);
}
#product-tabs.gen-tabs.accor .tabs {
    display: none;
}
#product-tabs.gen-tabs.accor .acctab {
    display: block;
    margin: 0;
}
#product-tabs.gen-tabs.accor .panel {
    padding: 0 0 16px;
    border: none;
    background: transparent;
    border-radius: 0;
}

/* === Autorelated slider cards =============================================
 * Scope: solo i card dentro .itemslider (autorelated/related/upsell). Lascia
 * invariati i card della category grid (.products-grid:not(.itemslider)).
 * NB: non setto display/gap su .itemslider — il layout è splide-managed,
 * intervengo solo su border/shadow/hover dei single card.
 *
 * Hover state: arancione accent + lift + glow tinted, in linea col design
 * language MahoBoi (megamenu cat-card, prototype).
 */
.itemslider .item,
.itemslider .product-item {
    border: 1px solid rgba(20, 17, 13, 0.08) !important;
    box-shadow: none !important;
    transition:
        transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.15s ease;
}
.itemslider .item:hover,
.itemslider .product-item:hover {
    transform: translateY(-2px) !important;
    border-color: var(--c-primary) !important;
    box-shadow: 0 8px 24px -12px rgba(255, 90, 31, 0.4) !important;
}
.itemslider .item:hover .product-name a,
.itemslider .product-item:hover .product-name a {
    color: var(--c-primary);
}

/* Vertical autorelated (right column slot): stack verticale, gap respiro */
.itemslider--vertical {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.itemslider--vertical .item {
    border: 1px solid rgba(20, 17, 13, 0.08) !important;
    background: #fff;
    box-shadow: none !important;
    padding: 12px;
    /* Grid: thumbnail sx (88px col 1, span tutte le righe) + content dx (col 2:
     * h3 name / swatches / price stackano in righe separate). */
    display: grid !important;
    grid-template-columns: 88px 1fr;
    grid-auto-rows: min-content;
    column-gap: 14px;
    row-gap: 4px;
    align-content: center;
    border-radius: 4px;
}
.itemslider--vertical .item:hover {
    border-color: var(--c-primary) !important;
    box-shadow: 0 6px 18px -10px rgba(255, 90, 31, 0.35) !important;
    transform: translateY(-1px) !important;
}
.itemslider--vertical .item:hover .product-image img {
    transform: scale(1.04);
}
.itemslider--vertical .item .product-image img {
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.itemslider--vertical .item > .product-image-wrapper {
    grid-column: 1;
    grid-row: 1 / span 99;
    width: 88px;
    height: 88px;
    margin: 0;
    padding: 0;
    align-self: center;
    overflow: hidden;
    border-radius: 3px;
}
.itemslider--vertical .item .product-image,
.itemslider--vertical .item .product-image img {
    width: 88px;
    height: 88px;
    object-fit: contain;
    padding: 0;
    aspect-ratio: 1 / 1;
}
.itemslider--vertical .item > .ribbon-corner {
    display: none; /* niente ribbons sui card vertical, troppo piccoli */
}
.itemslider--vertical .item > .product-name,
.itemslider--vertical .item > .configurable-swatch-list,
.itemslider--vertical .item > .price-box {
    grid-column: 2;
}
/* Product name: single line + ellipsis. Tronca i nomi lunghi così la card
 * resta uniforme (1 riga). */
.itemslider--vertical .item > .product-name {
    margin: 0;
    overflow: hidden;
    min-width: 0;
}
.itemslider--vertical .item > .product-name a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--fs-sm);
    font-weight: 600;
    line-height: 1.3;
    color: var(--c-text);
}
.itemslider--vertical .item > .price-box {
    margin: 0;
}
.itemslider--vertical .item > .price-box .price {
    font-size: var(--fs-sm) !important;
}
.itemslider--vertical .item > .price-box .old-price .price {
    font-size: var(--fs-xs) !important;
}
/* Swatches sotto il nome: solo i primi N circles, gli altri eventualmente
 * troncati con overflow hidden se troppi. */
.itemslider--vertical .item > .configurable-swatch-list {
    margin: 0;
    max-height: 28px; /* limita a una riga di swatch */
    overflow: hidden;
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
}
.itemslider--vertical .item > .configurable-swatch-list li {
    flex: 0 0 auto;
    margin: 0 !important;
}
/* Slider title — tightened, Apple-style (uppercase tracked, no heavy bold) */
.itemslider-wrapper > h2,
.itemslider-wrapper > h3,
.itemslider-wrapper > .block-title {
    margin: 0 0 16px;
    font-size: var(--fs-md);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--c-text);
}

/* Hairline dividers — separano price + add-to-cart dal resto della col.
 * padding-top extra dentro al child + border-top hairline. Il flex column
 * gap:20px (vedi styles.css .product-primary-column) somma sopra al border,
 * dando respiro Apple-like. */
.product-view .price-and-type-data,
.product-view .add-to-box,
.product-view .container1-wrapper {
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
/* Dentro container1-wrapper il divider già fornisce separazione, evita di
 * raddoppiare se il primo child è un'altra section con il proprio padding. */
.product-view .container1-wrapper .product-options {
    padding-top: 0;
    border-top: none;
}

/* Hide empty wrapper divs. L'inline JS in view.phtml sposta
 * #product-info-extra dentro .product-options-bottom lasciando
 * .price-and-type-data > .product-type-data vuota (solo whitespace). E
 * .action-box renderizza un <ul class="add-to-links"></ul> vuoto se non
 * ci sono link wishlist/compare. Senza queste regole entrambi i wrapper
 * mostravano il divider hairline + padding-top creando "gap fantasma"
 * tra h1 e opzioni prodotto. */
.product-view .action-box:has(> .add-to-links:empty) {
    display: none;
}
.product-view .price-and-type-data:not(:has(.product-type-data > *)) {
    display: none;
}

/* === Segmented control per swatch text-only (iOS-style) ====================
 * Le opzioni testuali (es. size XS/S/M/L/XL) sono swatch senza .has-image né
 * .has-color sull'<a>. Le rilevo via :has() — la lista è "text-only" se
 * NESSUN child ha quelle classi. Le attacco come barra segmentata con border
 * overlap (margin-right:-1px) e angoli pill solo sui first/last. Selected =
 * fillato nero + testo bianco. iOS settings segmented control vibe.
 *
 * Il vendor template configurableswatches/...swatches.phtml NON aggiunge la
 * class attribute-specific (es. configurable-swatch-size), quindi il selector
 * :has-based è l'unico modo CSS-only senza override template.
 */
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li {
    margin: 0 -1px 0 0;
    list-style: none;
    float: none;
    display: block;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li > a.swatch-link {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 44px !important;
    min-width: 56px !important;
    width: auto !important;
    padding: 0;
    margin: 0;
    border: 1px solid var(--c-border);
    border-radius: 0;
    background: transparent;
    transition:
        background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li > a.swatch-link .swatch-label {
    background: transparent !important;
    border: none !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    padding: 0 14px;
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--c-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li:first-child > a.swatch-link {
    border-radius: 999px 0 0 999px;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li:last-child > a.swatch-link {
    border-radius: 0 999px 999px 0;
    margin-right: 0;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li:only-child > a.swatch-link {
    border-radius: 999px;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li:hover > a.swatch-link,
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li.selected > a.swatch-link {
    position: relative;
    z-index: 2;
    background: var(--c-text);
    border-color: var(--c-text);
    transform: none !important;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li:hover > a.swatch-link .swatch-label,
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li.selected > a.swatch-link .swatch-label {
    color: #fff;
}
.product-view .product-options .configurable-swatch-list:not(:has(.swatch-link.has-image)):not(:has(.swatch-link.has-color)) > li.not-available > a.swatch-link {
    opacity: 0.4;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* Main gallery image visibility control (JS toggle .visible / .hidden) */
.product-image-gallery {
    position: relative;
    /* Apple-style: corners pill-soft + subtle elevation. La transition è
       per mantenere fluido il color swatch swap (l'img cambia src). */
    border-radius: var(--r-lg);
    overflow: hidden;
    background: var(--c-bg);
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, 0.04),
        0 1px 2px rgba(0, 0, 0, 0.04);
}
.product-image-gallery img {
    border-radius: var(--r-lg);
}
.product-image-gallery .gallery-image {
    display: none !important;
}
.product-image-gallery .gallery-image.visible {
    display: block !important;
}
.product-image-gallery .gallery-image.visible.hidden {
    visibility: hidden;
}

/* Loading overlay durante swatch-triggered image swap */
.product-image-gallery:before,
.product-image-gallery:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none;
}
.product-image-gallery:before {
    background-color: white;
    opacity: 0.8;
    z-index: 2;
}
.product-image-gallery:after {
    background-image: url(../images/opc-ajax-loader.gif);
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3;
}
.product-image-gallery.loading:before,
.product-image-gallery.loading:after {
    display: block;
}

/* Thumbs list — più respiro tra immagine principale e thumbs (15→24px).
 * Il thumb-link è solo wrapper trasparente: border + radius vivono sull'img
 * (vedi styles.css .product-view .product-image-thumbs img). Niente padding
 * né border qui per evitare overflow del thumb-link (76px) > li flex-basis
 * (72px). */
.product-view .product-image-thumbs {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.product-view .product-image-thumbs li {
    list-style: none;
}
.product-image-thumbs .thumb-link {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
}
.product-image-thumbs .thumb-link:hover img,
.product-image-thumbs .thumb-link.is-active img {
    border-color: var(--c-primary);
    cursor: pointer;
}
